CentOS 8 深入优化 nginx 服务

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了CentOS 8 深入优化 nginx 服务相关的知识,希望对你有一定的参考价值。

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压缩后,抓包工具不一定能抓到相关信息,但这种设置是没错的!

以上是关于CentOS 8 深入优化 nginx 服务的主要内容,如果未能解决你的问题,请参考以下文章

精华推荐 | 深入浅出学习透析Nginx服务器的基本原理和配置指南「Keepalive性能优化实战篇」

一步一步教你apache深入优化

Nginx服务优化及优化深入

深入Nginx优化

Zend Opcache 不缓存所有文件(CentOS 6.7 + Nginx 1.8.1 + PHP 7 + Laravel 5.1)

centos编译安装php5.6.20+nginx1.8.1+mysql5.6.17