Ubuntu 安装配置 Varnish 都很简单 , 可是 Ubuntu 重启 Varnish 不能开机启动 , 访问反向代理端口会报找不到服务器的错误 , 我试图用 rcconf 设置 Varnish 开机启动 , 但是不成功 。 无奈我只好让 Varnish 跟随 Nginx 一起开机启动 , 这样 Ubuntu 重启以后 , Varnish 也会跟着 Nginx 启动起来 。
打开 /etc/init.d/nginx 文件 , 注意粗体是让 Varnish 跟随 Nginx 启动的新增脚本
case "$1" in
start)
echo -n "Starting $DESC: "
start-stop-daemon --start --quiet --pidfile /var/run/$NAME.pid \
--exec $DAEMON -- $DAEMON_OPTS
echo "$NAME."
/usr/bin/spawn-fcgi -a 127.0.0.1 -p 9000 -C 10 -u www-data -f /usr/bin/php-cgi
/usr/sbin/varnishd -f /etc/varnish/default.vcl -s malloc,1G -T 127.0.0.1:2000 -a 0.0.0.0:80
;;
stop)
echo -n "Stopping $DESC: "
start-stop-daemon --stop --quiet --pidfile /var/run/$NAME.pid \
--exec $DAEMON
echo "$NAME."
pkill -9 php-cgi
pkill Varnishd
;;
restart|force-reload)
echo -n "Restarting $DESC: "
start-stop-daemon --stop --quiet --pidfile \
/var/run/$NAME.pid --exec $DAEMON
pkill Varnishd
sleep 1
start-stop-daemon --start --quiet --pidfile \
/var/run/$NAME.pid --exec $DAEMON -- $DAEMON_OPTS
echo "$NAME."
/usr/bin/spawn-fcgi -a 127.0.0.1 -p 9000 -C 10 -u www-data -f /usr/bin/php-cgi
/usr/sbin/varnishd -f /etc/varnish/default.vcl -s malloc,1G -T 127.0.0.1:2000 -a 0.0.0.0:80
配置完成以后 , 保存对脚本的更改 , 重启 Ubuntu , 访问反向代理服务器(Varnish) , 正常返回真实服务器数据 , 配置成功 !