如何在CentOS/RHEL 8上安装Nginx的Varnish Cache 6
时间:2019-04-29 03:17:15 来源:igfitidea点击:
Varnish缓存是一个免费的开源、现代和高性能web应用程序加速器。它是一种快速反向HTTP代理,通过将web内容存储在服务器内存(在缓存中)来缓存内容,从而提高web服务器的性能。它被配置为在nginx (nginx) webserver等源服务器前运行。
在CentOS/RHEL 8上安装Nginx Web服务器
安装Nginx web服务器
# dnf update # dnf install nginx
管理nginx服务
### 停止nginx web服务 # systemctl stop nginx ### 启动nginx web服务 # systemctl start nginx ### 设置nginx web服务开机自启动 # systemctl enable nginx ### 查看nginx web服务状态 # systemctl status nginx
为nginx 配置防火墙
开放80端口
# firewall-cmd --zone=public --permanent --add-service=http # firewall-cmd --zone=public --permanent --add-service=https # firewall-cmd --reload
如何在CentOS/RHEL 8上安装Varnish Cache 6
# dnf module install varnish
查看Varnish 的版本
# varnishd -V
Varnish 的配置文件
程序主目录: /usr/sbin/varnishd
配置文件目录: /etc/varnish
配置文件 /etc/varnish/default.vcl: 主varnish配置文件 , 使用VCL语言编写。
配置文件 /etc/varnish/secret:varnish 密钥文件
启动varnish服务,设置开机自启动
# systemctl start varnish # systemctl enable varnish # systemctl status varnish
配置nginx服务器,和Varnish 搭配使用
修改文件 /etc/nginx/nginx.conf
将nginx 的监听端口改为8080
server { listen 80 default_server; listen [::]:80 default_server;
每个需要使用Varnish提供缓存的虚拟主机, 都需要修改相应的监听端口。
例如:
/etc/nginx/conf.d/mytheitroad.tech.conf:
server { listen 8080; server_name www.mytheitroad.tech; root /var/www/html/mytheitroad.tech/; location / { } error_page 404 /404.html; location = /40x.html { } error_page 500 502 503 504 /50x.html; location = /50x.html { } }
测试配置是否正确,并重启nginx服务,使配置生效
# nginx -t # systemctl restart nginx
配置Varnish,将其作为nginx的前端
# systemctl edit --full varnish
将端口6081改成80:
ExecStart=/usr/sbin/varnishd -a :80 -f /etc/varnish/default.vcl -s malloc,256m
配置Varnish后端服务器
修改 /etc/varnish/default.vcl,
可以将默认的 default改成 server1, 端口设置为 nginx服务器监听的端口。
如果nginx和Varnish在不同的机器上,需要将 .host设置为 nginx所在服务器的IP地址:
backend server1 { .host = "127.0.0.1"; .port = "8080"; }
重启varnish,使配置生效
# systemctl daemon-reload # systemctl restart varnish
测试
查看监听端口是否正确:
# ss -tpln
使用浏览器打开网址, http://服务器ip
, 检查页面是否通过Varnish缓存.
也可以解析后通过域名访问 :http:/mytheitroad.tech