栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 系统运维 > 运维 > Linux

Nginx 优化

Linux 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

Nginx 优化

目录

Nginx 优化

1. 隐藏版本号

(1) 原因

(2) 版本号查看

(3) 隐藏方法

2. 修改用户与组

3. 缓存时间

4. 日志分割

5. 连接超时

6. 配置网页压缩


Nginx 优化



1. 隐藏版本号



(1) 原因

为了安全,如果暴露版本信息,黑客可以通过版本信息得知该版本存在的漏洞,进而对服务器进行攻击。隐藏版本信息可以避免黑客有的放矢的进行破坏。

(2) 版本号查看


① nginx -v (仅限 web 浏览器)

[root@c7-1 ~]#nginx -v
nginx version: nginx/1.12.2

② curl -I

[root@c7-1 ~]#curl -I 127.0.0.1
HTTP/1.1 200 OK
Server: nginx/1.12.2
Date: Fri, 08 Oct 2021 12:29:08 GMT
Content-Type: text/html
Content-Length: 612
Last-Modified: Mon, 04 Oct 2021 12:54:14 GMT
Connection: keep-alive
ETag: "615af976-264"
Accept-Ranges: bytes

(3) 隐藏方法


① 修改配置文件

[root@localhost ~]# vim /usr/local/nginx/conf/nginx.conf

http {
......
    server_tokens off;    #添加此行内容,关闭版本号的显示
......

[root@localhost ~]# systemctl restart nginx

② 修改源码文件,重新编译

[root@localhost ~]# vim /usr/local/nginx/conf/nginx.conf

http {
......
    #server_tokens off;    #注释此行内容,开启版本号的显示
......

[root@localhost ~]# vim /opt/nginx-1.12.2/src/core/nginx.h

##修改版本号和名称,可伪装成其他服务(例如 apache、mysql 等)
#define NGINX_VERSION      "5.7.20"
#define NGINX_VER          "mysql/" NGINX_VERSION

#重新编译
cd /opt/nginx-1.12.2/
./configure 
--prefix=/usr/local/nginx 
--user=nginx 
--group=nginx 
--with-http_stub_status_module

make -j 4 && make install
systemctl restart nginx

2. 修改用户与组
[root@localhost nginx-1.12.0]# vim /usr/local/nginx/conf/nginx.conf

user  nginx nginx;         #第二行,取消注释,修改用户为nginx,组为nginx

[root@localhost nginx-1.12.0]# systemctl restart nginx
[root@localhost nginx-1.12.0]# ps aux | grep nginx
#主进程由root创建,子进程由nginx创建
root      42095  0.0  0.0  20500   628 ?        Ss   23:29   0:00 nginx: master process /usr/local/nginx/sbin/nginx
nginx     42096  0.0  0.0  22948  1404 ?        S    23:29   0:00 nginx: worker process
root      42103  0.0  0.0 112676   976 pts/0    R+   23:29   0:00 grep --color=auto nginx

3. 缓存时间
[root@localhost nginx-1.12.0]# vim /usr/local/nginx/conf/nginx.conf

......
    server {
    ......
        location ~ .(gif|jpg|jpeg|png|bmp|ico)$ {   #新建location,以图片作为缓存对象
            root   html;
            expires 1d;                              #指定缓存时间为1天,一天半为1d12h
        }
    ......
    }
......

[root@localhost nginx-1.12.0]# systemctl restart nginx
[root@c7-1 /usr/local/nginx/html]#ls
50x.html  index.html  index.html.bak  test.jpg

[root@c7-1 /usr/local/nginx/html]#vim index.html 

#加入图片



4. 日志分割
[root@c7-1 /opt]# vim log_cut.sh 

#!/bin/bash
#Filename:log_cut.sh

lastday=$(date -d "-1 day" +%Y%m%d)
#显示前一天的时间
logs_path=/var/log/nginx
pid_path=/usr/local/nginx/logs/nginx.pid

[ -d $logs_path ] || mkdir -p $logs_path
#创建日志文件目录
mv /usr/local/nginx/logs/access.log $logs_path/test.com_access.log-$lastday
mv /usr/local/nginx/logs/error.log $logs_path/test.com_error.log-$lastday
#移动并重命名日志文件

kill -USR1 $(cat $pid_path)
#重建新日志文件
find $logs_path -mtime +30 -exec rm -rf {} ;
#删除30天之前的日志文件

5. 连接超时
[root@c7-1 ~]#vim /usr/local/nginx/conf/nginx.conf

http {
......
    keepalive_timeout  65 180;
    client_header_timeout 80;
    client_body_timeout 80;
......
}

[root@localhost nginx]# systemctl restart nginx

6. 配置网页压缩
vim /usr/local/nginx/conf/nginx.conf
......
http {
    ......
    gzip on;                  #开启 gzip 压缩功能
    gzip_min_length 1k;       #压缩阈值,最小压缩为 1k
    gzip_buffers 4 16k;       # buffer 大小为 4 个 16k 缓冲区大小
    gzip_http_version 1.1;    #压缩版本(默认不设置)
    gzip_comp_level 6;        #压缩比率,最小为 1,处理速度快,传输速度慢,9 最大压缩比,处理速度慢,传输速度快(建议5-6)
    gzip_disable "MSIE [1-6].";  #配置禁用 gzip 条件,支持正则,表示 ie6 以下不启用 gzip
    gzip_vary on;  				  #支持前端缓存服务器存储压缩页面
    gzip_types text/plain application/x-javascript text/css image/jpg image/jpeg image/png image/gif application/xml text/javascript application/x-httpd-php application/javascript application/json;
    #支持的压缩类型
    ......
}

nginx -t
cd /usr/local/nginx/html/   	 #首页中插入 cat.jpg 图片进行测试

vim index.html
	Welcome to nginx!
			 #插入一行
	
systemctl restart nginx

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/342072.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号