8月5日上课内容 nginx的优化和防盗链

全部都是面试题

nginx的优化和防盗链

重点就是优化:

每一个点都是面试题,非常重要,都是面试题

1、隐藏版本号(重点,一定要会)

备份 cp nginx.conf nginx.conf.bak.2023.0805

8月5日上课内容 nginx的优化和防盗链_第1张图片

方法一:修改配置文件方式
vim /usr/local/nginx/conf/nginx.conf
http {
    include       mime.types;
    default_type  application/octet-stream;
    server_tokens off;                                #添加,关闭版本号
    ......
}

8月5日上课内容 nginx的优化和防盗链_第2张图片

 systemctl restart nginx


curl -I http://192.168.233.61

这时候再来看一下,版本号就消失了

8月5日上课内容 nginx的优化和防盗链_第3张图片

 

方法二:修改源码文件,重新编译安装
vim /opt/nginx-1.22.0/src/core/nginx.h

8月5日上课内容 nginx的优化和防盗链_第4张图片

8月5日上课内容 nginx的优化和防盗链_第5张图片

 #define NGINX_VERSION "1.1.1"                     #修改版本号
#define NGINX_VER "IIS" NGINX_VERSION             #修改服务器类型

8月5日上课内容 nginx的优化和防盗链_第6张图片

 cd /opt/nginx-1.22.0/ 
./configure --prefix=/usr/local/nginx --user=nginx --group=nginx --with-http_stub_status_module
make && make install 回到配置源码包的主目录,重新配置一下,再重新编译安装一下

8月5日上课内容 nginx的优化和防盗链_第7张图片

8月5日上课内容 nginx的优化和防盗链_第8张图片

装完之后清除一下内存缓存

8月5日上课内容 nginx的优化和防盗链_第9张图片

配置完之后再把off改为on显示编辑的版本号

vim /usr/local/nginx/conf/nginx.conf
http {
    include       mime.types;
    default_type  application/octet-stream;
    server_tokens on;
    ......
}

8月5日上课内容 nginx的优化和防盗链_第10张图片

systemctl restart nginx


curl -I http://192.168.233.61

8月5日上课内容 nginx的优化和防盗链_第11张图片

2、Nginx的日志分割(非常重要,一定要会)

Nginx与apache的不同之处,就是Nginx本身没有设计日志分割工具,所以需要运维人员进行脚本编写来实现日志分割

分割日志
NGINX不自带日志分割系统,可以通过脚本实现


vim nginxlog.sh

#!/bin/bash

# 获取日期 date +%Y-%m-%d 表示用年 月 日的格式显示
d=$(date +%Y-%m-%d)

# 定义存储目录
dir="/usr/local/nginx/logs"

# 定义需要分割的源日志
logs_file='/usr/local/nginx/logs/access.log'                 定义一个变量
logs_error='/usr/local/nginx/logs/error.log'

#定义nginx的pid文件
pid_file='/usr/local/nginx/run/nginx.pid'

8月5日上课内容 nginx的优化和防盗链_第12张图片

 if [ ! -d "$dir" ]
then
    mkdir $dir
fi

# 移动日志并重命名文件
mv ${logs_file} ${dir}/access_${d}.log
mv ${logs_error} ${dir}/error_${d}.log

# 发送kill -USR1信号给Nginx的主进程号,让Nginx重新生成一个新的日志文件
kill -USR1 $(cat ${pid_file})

#日志文件清理,将30天前的日志进行清除
find $logs_path -mtime +30 -exec rm -rf {} \;

ls /var/log/nginx/      #日志按照前一天的日期命名,移动到指定路径完成分割的第一步需求

chmod 777 nginxlog.sh

 

 

你可能感兴趣的:(java,面试,开发语言)