配置nginx

修改nginx端口

默认情况下Nginx监听端口80,我们需要将其修改,把80端口留个varnish

编辑 /etc/nginx/nginx.conf, 将 listen 80改成 listen 8080
如果是子站点,配置文件可能在 **/etc/nginx/conf.d/**中

然后重启nginx使配置生效

# nginx -t ## 检查nginx配置文件是否正确
# systemctl restart nginx

设置varnish监听端口

执行下面命令,打开Varnish服务配置文件

# systemctl edit --full  varnish

找打ExecStart一行,将端口改成80

ExecStart=/usr/sbin/varnishd -a :80 -f /etc/varnish/default.vcl -s malloc,256m

设置Varnish从中获取内容的后端服务器

# vi /etc/varnish/default.vcl 

backend server1 {
    .host = "192.168.1.133";
    .port = "8080";
}

重新启动Varnish服务

# systemctl daemon-reload
# systemctl restart varnish

测试Nginx Varnish缓存设置

使用浏览器打开站点

在CentOS/RHEL 8上安装Varnish缓存6

CentOS/RHEL 8在默认情况下提供了Varnish缓存DNF模块,该模块包含Varnish 6.0 LTS(长期支持)版本。

安装

# dnf module install varnish

确认系统上安装的Varnish版本。

# varnishd -V

Varnish的文件

主程序:/usr/sbin/varnishd
配置文件目录: /etc/varnish/
主配置文件: /etc/varnish/default.vcl
密码文件:/etc/varnish/secret

启动Varnish服务

启动Varnish服务,并设置自动启动,然后查看它的状态。

# systemctl start varnish
# systemctl enable varnish
# systemctl status varnish

Varnish常用命令

varnishadm

varnishadm用于控制运行的Varnish实例的实用程序。它建立到varnishd的CLI连接。例如,可以使用它来列出配置后端

# varnishadm
varnish> backend.list

varnishlog

varnishlog实用程序提供对特定于请求的数据的访问。它提供关于特定客户端和请求的信息。

# varnishlog

varnishstat

varnishstat也称为varnish统计信息,它提供了对内存统计信息的访问,例如缓存命中和丢失、有关存储的信息、创建的线程、删除的对象。

# varnishstat 

varnishtop

varnishtop实用程序读取共享内存日志

# varnishtop 

varnishhist

varnishhist (varnish history)实用程序解析varnish日志,并输出一个连续更新的直方图,显示最后n个请求的处理分布情况。

# varnishhist
如何在CentOS/RHEL 8上安装Nginx的Varnish缓存6

Varnish缓存(通常称为Varnish)是一个开源的、强大的、快速的反向代理HTTP加速器,具有现代的体系结构和灵活的配置语言。

Varnish充当Nginx和客户端之间的中间人,但会带来一些性能上的好处。它的主要目的是通过充当缓存引擎使应用程序加载更快。它接收来自客户端的请求,并将其转发到后端,以缓存所请求的内容(将文件和文件片段存储在内存中)。然后,将来对完全相似内容的所有请求都将从缓存中提供服务。

这使的web应用程序加载更快,并且间接地提高了web服务器的总体性能,因为Varnish将提供来自内存的内容,而不是Nginx处理来自存储磁盘的文件。除了缓存之外,Varnish还有其他几个用法,包括HTTP请求路由器、负载均衡器、web应用程序防火墙等等。

varnish使用高度可扩展内置varnish配置语言(VCL)进行配置,VCL使能够编写关于应该如何处理传入请求的策略。可以使用它来构建定制的解决方案、规则和模块。

在CentOS/RHEL 8上安装Nginx Web服务器

CentOS/RHEL 8附带了最新版本的Nginx web服务器软件,因此我们将使用以下dnf命令从默认存储库安装它。

# dnf update
# dnf install nginx

安装Nginx之后,需要使用以下systemctl命令启动、启用和验证状态。

# systemctl start nginx
# systemctl enable nginx
# systemctl status nginx

使用下面的ss命令检查Nginx TCP套接字,它默认在端口80上运行。

# ss -tpln

如果系统上运行了防火墙,请确保更新防火墙规则以允许向web服务器发送请求。

# firewall-cmd --zone=public --permanent --add-service=http
# firewall-cmd --zone=public --permanent --add-service=https
# firewall-cmd --reload
日期:2019-04-29 03:17:15 来源:oir作者:oir