当使用带有 Varnish 的内联 C 时,我无法让 /etc/varnish/default
在启动时感到满意。
我已经用清漆测试了内联 C 的两件事:GeoIP 检测和反站点抓取功能。
DAEMON_OPTS 总是抱怨,即使我遵循其他似乎
表明工作正常的内容。
我的问题是这个命令行启动工作:
varnishd -f /etc/varnish/varnish-default.conf -s file,/var/lib/varnish/varnish_storage.bin,512M -T 127.0.0.1:2000 -a 0.0.0.0:8080 -p 'cc_command=exec cc -fpic -shared -Wl,-x -L/usr/include/libmemcached/memcached.h -lmemcached -o %o %s'
但是尝试从默认启动脚本启动时出错:
/etc/default/varnish 里面有这个:
DAEMON_OPTS="-a :8080 \
-T localhost:2000 \
-f /etc/varnish/varnish-default.conf \
-s file,/var/lib/varnish/varnish_storage.bin,512M \
-p 'cc_command=exec cc -fpic -shared -Wl,-x -L/usr/include/libmemcached/memcached.h -lmemcached -o %o %s'"
错误是:
# /etc/init.d/varnish start
Starting HTTP accelerator: varnishd failed!
storage_file: filename: /var/lib/varnish/vbox.local/varnish_storage.bin size 512 MB.
Error:
Unknown parameter "'cc_command".
如果我尝试将最后一行更改为:
-p cc_command='exec cc -fpic -shared -Wl,-x -L/usr/include/libmemcached/memcached.h -lmemcached -o %o %s'"
现在的错误是:
# /etc/init.d/varnish start
Starting HTTP accelerator: varnishd failed!
storage_file: filename: /var/lib/varnish/vbox.local/varnish_storage.bin size 512 MB.
Error: Unknown storage method "hared"
它试图将“-shared”解释为-s hared,而“hared”不是存储类型。
对于 GeoIP 和 Anti-Site-Scrape,我使用了确切推荐的守护进程选项
,并尝试了各种变体,例如添加 \' 和 '' 但没有任何乐趣。
这是我遵循的指令的链接,除了 DAEMON_OPTS 部分外,它工作正常。
http://drcarter.info/2010/04/how-fighting-against-scraping-using-varnish-vcl-inline-c-memcached/
我正在使用 Debian 和说明中所述的确切 DAEMON_OPTS。
任何人都可以帮助指出这里出了什么问题吗?
非常感谢!