重要的命令行参数
当你启动varnish的时候有两个参数你是必须要设置的:
- 处理http请求的tcp监听端口
- 处理真实请求的后端server
如果您是使用操作系统提供的安装包安装的varnish,你可以在这里找到启动参数:
- Debian, Ubuntu: /etc/default/varnish
- Red Hat, Centos: /etc/sysconfig/varnish
- FreeBSD: /etc/rc.conf (或者 /usr/local/etc/rc.d/varnishd )
'-a' 监听地址
-a
参数用来定义varnish监听的地址和http请求来源。
您一般非常愿意将其设置为一个最为人熟知的:80
端口。
您可以使用逗号分割多个地址,如果您愿意的话您也可以使用数字ip或者主机名字,如果这些地址可以打开的话,varnish会尽量代理所有地址,但是如果没有一个可以打开的话,varnish就启动不了了。
这里是一些示例:
-a :80
-a localhost:80
-a 192.168.1.100:8080
-a '[fe80::1]:80'
-a '0.0.0.0:8080,[::]:8081'
如果你的webserver运行在同一台机器,那么您必须先将其移到其他端口上面。
'-f' VCL文件 或者 '-b' 后端服务器
varnish需要知道它应该从哪里获得http server的数据来缓存下来。您可以使用-b
参数指定它,或者你也可以将它放到VCL文件中,然后使用-f
参数来进行指定。
使用-b
参数是一个比较快捷的办法:
-b localhost:81
-b thatotherserver.example.com:80
-b 192.168.1.2:80
注意,如果您指定的是一个名字,他最多只能使用一个IPv4 和一个IPv6地址。
如果您使用-f
参数,您的VCL文件里面应该有这一段:
backend default {
.host = "localhost:81";
}
这和使用-b
参数是一样的。
其实这两种情况都是将配置参数追加到VCL代码中。
其他选项
varnish有大量用用的命令行参数,我们建议你学习一下,但是没必要全部使用,但是对于启动来说,上面两个参数已经足够了。
默认情况下,varnish将会使用100M的内存来缓存内容,如果你想缓存的东西不止这么多,那么你可以使用-s
参数指定。
如果你运行的是一个特别大的网站,你也可能想要调整work现成数量,这可以使用-p
参数,但是我们通常不建议你这样做,除非你需要这样。
在您部署到生产环境之前,如果您需要区分权限的话,可能还需要重温一下安全第一章节。
如果需要查看更多参数,请查看参数列表。