一、隐藏版本号
可以使用 Fiddler 工具抓取数据包,查看 Nginx版本,也可以在 终端中使用命令 curl -I http://192.168.109.131显示响应报文首部信息
root@localhost ~]# curl -I http://192.168.109.131
方法一:修改主配置文件方式
方法二:修改源码文件,重新编译安装
vim /opt/nginx-1.12.0/src/core/nginx.h
cd /opt/nginx-1.12.0/ ./configure --prefix=/usr/local/nginx --user=nginx --group=nginx --with-http_stub_status_module make -j4 && make install
二、修改用户与组
[root@localhost ~]# vim /usr/local/nginx/conf/nginx.conf #编辑主配置文件
[root@localhost ~]# systemctl restart nginx [root@localhost ~]# ps aux | grep nginx #主进程由root创建,子进程由nginx创建
三、缓存时间
当Nginx将网页数据返回给客户端后,可设置缓存的时间,以方便在日后进行相同内容的请求时直接返回,避免重复请求,加快了访问速度,一般针对静态网页设置,对动态网页不设置缓存时间。
[root@localhost html]#vim /usr/local/nginx/conf/nginx.conf
[root@localhost html]# vim index.html
[root@localhost html]# systemctl restart nginx
四、日志切割
随着Nginx运行时间的增加,产生的日志也会逐渐增加,为了方便掌握Nginx的运行状态,需要时刻关注Nginx日志文件。太大的日志文件对监控是一个大灾难,不便于分析排查,需要定期的进行日志文件的切割。
vim /opt/fenge.sh #!/bin/bash #获取前一天的日期 DAY=$(date -d "-1 day" +%Y%m%d) #定义日志存放目录的路径 LOG_PATH="/var/log/nginx" #定义Nginx PID文件路径 PID_PATH="/usr/local/nginx/logs/nginx.pid" #判断日志存放目录是否存在,如果不存在则创建目录 [ -d $PID_PATH ] || mkdir -p $PID_PATH #移动并重命名日志文件 mv /usr/local/nginx/logs/access.log $logs_path/nginx_access.log-$DAY #在Nginx目录下重建新的日志文件 kill -USR1 $(cat $PID_PATH) #删除30天之前的日志文件 find $PID_PATH -mtime +30 -exec rm -f {} \; #赋予权限 chmod +x fenge.sh #计划任务 crontab -e 00 00 * * * /opt/fenge.sh #每天的0点0分执行脚本
小知识
在linux操作系统中,每个文件都有很多的时间参数,其中有三个比较主要,分别是ctime,atime,mtime
ctime(status time):
当修改文件的权限或者属性的时候,就会更新这个时间,ctime并不是create time,更像是change time,
只有当更新文件的属性或者权限的时候才会更新这个时间,但是更改内容的话是不会更新这个时间。
atime(accesstime):
当使用这个文件的时候就会更新这个时间。
mtime(modification time):
当修改文件的内容数据的时候,就会更新这个时间,而更改权限或者属性,mtime不会改变,这就是和ctime的区别。