Nginx优化与防盗链

每日分享:
不要为小事遮住视线,我们还有更大的世界。



一、隐藏版本号

1、查看版本号

方法 一
 Centos中可以使用命令 curl -I http://自己ip来显示响应报文首部信息,-I是大写的i
 方法二
 nginx -V

在这里插入图片描述
在这里插入图片描述

2、修改版本信息

方法一、修改配置文件
vim /usr/local/nginx/conf/nginx.conf
##20行添加
server_tokens off;
##重启nginx服务
systemctl restart nginx
curl -I http://20.0.0.12

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

方法二、修改源码文件,重新编译安装
vim /opt/nginx-1.12.0/src/core/nginx.h
#define NGINX_VERSION "1.20.2" 				
#define NGINX_VER "apache" NGINX_VERSION 	
##重新编译安装
cd /opt/nginx-1.12.0/
./configure \
--prefix=/usr/local/nginx \
--user=nginx \
--group=nginx \
--with-http_stub_status_module
make -j 4 && make install
##将版本号打开
vim /usr/local/nginx/conf/nginx.conf
http {
    include       mime.types;
    default_type  application/octet-stream;
    server_tokens on;           ##off改为on
##重启服务
systemctl restart nginx  
curl -I http://20.0.0.12  

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述


二、修改用户与组

方法一
##编译安装时,指定运行用户和组
--prefix=/usr/local/nginx \       
--user=nginx \       ##指定用户名            
--group=nginx \      ##指定组名           
--with-http_stub_status_module
方法二、修改配置文件
vim /usr/local/nginx/conf/nginx.conf
user  nginx nginx;
worker_processes  4;
##修改完保存退出
systemctl restart nginx
ps aux | grep nginx

在这里插入图片描述
在这里插入图片描述


三、修改缓存时间

当Nginx将网页数据返回给客户端后,可设置缓存的时间,以方便在日后进行相同内容的请求时直接返回,避免重复请求,加快了访问速度。
一般针对静态网页设置,对动态网页不设置缓存时间。

vim /usr/local/nginx/conf/nginx.conf
##添加下面4行内容
         location ~* \.(jpg|png|gif|mp4)$ {      
             root html;
             expires 1d;        
         }

在这里插入图片描述
在这里插入图片描述

##添加图片
cd /usr/local/nginx/html/
vim index.html

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述


四、日志切割

vim logs.sh
#!/bin/bash
#desc: this is used for split nginx logs

#获取前一天的日期
DAY=$(date -d "-1day" +%Y%m%d)                               
#定义日志存放 目录的路径
LOG_PATH="/var/log/nginx"
#定义Nginx PID文件的路径
PID_PATH="/usr/local/nginx/logs/nginx.pid"

#判断日志存放目录是否存在,如果不存在则创建目录
[ -d $LOG_PATH ] || mkdir -p $LOG_PATH
#移动并重命名文件
mv /usr/local/nginx/logs/access.log $LOG_PATH/nginx_access.log-$DAY
#在nginx目录下重建新的日志
kill -USR1 $(cat $PID_PATH)  
#删除30天之前 的日志文件   
find $LOG_PATH -mtime +30 -exec rm -f {} \;

在这里插入图片描述

chmod +x logs.sh
crontab -e
00 00 * * * /root/log.sh
crontab -l

在这里插入图片描述
在这里插入图片描述

./logs.sh
cd  /var/log
ls nginx

在这里插入图片描述


五、设置连接超时

HTTP有一个KeepAlive模式,它告诉web服务器在处理完一个请求后保持这个TCP连接的打开状态。若接收到来自同一客户端的其它请求,服务端会利用这个未被关闭的连接,而不需要再建立一个连接。
KeepAlive在一段时间内保持打开状态,它们会在这段时间内占用资源。占用过多就会影响性能。

vim /usr/local/nginx/conf/nginx.conf
     keepalive_timeout 60 180;    
     client_header_timeout 80;
     client_body_timeout 80;
##重启nginx服务
systemctl restart nginx.service
##浏览器输入
http://自己ip

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述


六、更改工作进程数

##查看CPU核数
cat /proc/cpuinfo | grep -c "physical id"

在这里插入图片描述

##修改工作进程数
vim /usr/local/nginx/conf/nginx.conf
##添加下面两行
worker_processes  4;
worker_cpu_affinity 0001 0010 0100 1000;
##查看语法是否正确
nginx -t
systemctl restart nginx
ps aux | grep nginx

在这里插入图片描述
在这里插入图片描述


七、配置网页压缩

  • Nginx的ngx_http_gzip_module压缩模块提供对文件内容压缩的功能。
  • 允许Nginx服务器将输出内容在发送客户端之前进行压缩,以节约网站带宽,提升用户的访问体验,默认已经安装。
  • 可在配置文件中加入相应的压缩功能参数对压缩性能进行优化。
vim /usr/local/nginx/conf/nginx.conf
   gzip on;
   gzip_min_length 1k;   
   gzip_buffers 4 16k; 
   gzip_http_version 1.1;
   gzip_comp_level 6;
   gzip_vary on;
   gzip_types text/plain text/javascript application/x-javascript text/css text/xml application/xml application/xml+rss image/jpg image/jpeg image/png image/gif application/x-httpd-php application/javascript application/json;
##查看语法是否有错,然后重启nginx
nginx -t
systemctl restart nginx

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述


八、配置防盗链

再开一台虚拟机,当做盗链主机,ip地址:20.0.0.7
##关闭防火墙
systemctl stop firewalld
systemctl disable firewalld
setenforce 0
##安装Apache
yum -y install httpd
##启动服务
systemctl start httpd
cd /var/www/html
vim index.html
<html>
<body>
<h1>你是什么小饼干/h1>
<img src="sao.jpg"/>
</body>
</html>

在这里插入图片描述
在这里插入图片描述

##回到第一台源主机,IP地址为:20.0.0.12
cd /usr/local/nginx/html/ 
##把图片拖进去

在这里插入图片描述

vim index.html

在这里插入图片描述

##回到盗链主机
vim /etc/hosts
20.0.0.12 www.run.com
20.0.0.7 www.he.com
##浏览器访问
http://www.run.com
http://www.he.com

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

##回到源主机,设置防盗链
vim /usr/local/nginx/conf/nginx.conf
##修改并添加下面4行内容
 location ~* \.(jpg|gif|mp4)$ {
 valid_referers none blocked *.run.com run.com;
            if ( $invalid_referer ) {
              rewrite ^/ http://www.run.com/error.png;
            }

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值