【发布时间】:2011-08-19 21:08:03
【问题描述】:
当使用带有 Varnish 的内联 C 时,我无法获得 /etc/varnish/default
在启动时感到高兴。
我已经用 varnish 对内联 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。
谁能帮忙指点一下这里出了什么问题?
非常感谢!
【问题讨论】: