Nginx深入优化

Nginx (engine x) 是一个高性能的HTTP和反向代理服务器, 轻量级、高并发的web服务器。在生产环境中,我们仍然不可能直接使用默认配置的Nginx来充当服务器。毕竟,为了更充分合理地利用Nginx服务器,我们都应该根 据自己的实际需要对nginx的默认配置作出一些必要的调整。
主要优化:隐藏版本号 、修改用户与组 、 网页缓存时间、 连接超时 、更改进程数 、网页压缩
温馨提示:文中采用yum一键安装nginx,除了配置文件路径和源码包安装不一样,优化配置都是一样的

隐藏版本号

隐藏版本可以减少被攻JI的风险,保护服务器安全运行。
yum install nginx -y #安装nginx
systemctl start nginx #启动nginx
curl -I http://192.168.0.107/ #查看版本号

更改配置文件

vim /etc/nginx/nginx.conf
server_tokens off; #添加该行,隐藏版本号

重启服务,验证:

nginx -s reload
curl -I http://192.168.0.107/

修改用户,组

更改配置文件

vim /etc/nginx/nginx.conf
user nginx nginx; #修改

重启后验证:

更改进程数

更改配置文件

vim /etc/nginx/nginx.conf

worker_processes  2;   #修改为核数相同或者2倍
worker_cpu_affinity 0001 0010; 

重启后验证:

备注:centos7的进程数默认是1, 建议修改,但是centos 8的进程数是自动,也可以不改!

添加图片缓存时间

更改配置文件

vim /etc/nginx/nginx.conf

location ~\.(gif|jpg|jepg|png|bmp|ico)$ {
                        root /usr/share/nginx/html;
                        expires 1d;
                }

添加网页连接超时

更改配置文件

vim /etc/nginx/nginx.conf

先注释keepalive_timeout这一行,然后加入
keepalive_timeout  65 180;      #设置超时180秒
client_header_timeout 80;
client_body_timeout 80;

添加网页压缩

更改配置文件

vim /etc/nginx/nginx.conf

 gzip  on;
 gzip_buffers 4 64k;
 gzip_http_version 1.1;
 gzip_comp_level 2;
 gzip_min_length 1k;
 gzip_vary on;
  gzip_types text/plain text/javascript application/x-javascript text/css text/xml application/xml application/xml+rss text/jpg text/png;

网页抓包验证压缩,超时,缓存:

nginx -s reload nginx #重启服务
cd /usr/share/nginx/html
到这个目录下放入测试图片为gg.jpg
访问网站http://192.168.0.107/gg.jpg

抓包测试

备注:gzip压缩后,抓包工具不一定能抓到相关信息,但这种设置是没错的!