博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Nginx优化与防盗链
阅读量:523 次
发布时间:2019-03-07

本文共 4515 字,大约阅读时间需要 15 分钟。

Nginx优化与防盗链

一、隐藏版本号

1、查看版本号

可以使用 Fiddler 工具抓取数据包,查看 Nginx版本,也可以在 CentOS 中使用命令 curl -I http://192.168.184.20 显示响应报文首部信息。

curl -I http://192.168.184.20

在这里插入图片描述

2、隐藏版本号方法(2种方法)

方法一:修改配置文件方式

vim /usr/local/nginx/conf/nginx.confhttp {    include       mime.types;    default_type  application/octet-stream;    server_tokens off;								#添加,关闭版本号    ......}systemctl restart nginxcurl -I http://192.168.221.15

在这里插入图片描述

在这里插入图片描述

方法二:修改源码文件,重新编译安装

vim /opt/nginx-1.12.0/src/core/nginx.h#define NGINX_VERSION "1.1.1" 					#修改版本号#define NGINX_VER "IIS" NGINX_VERSION 			#修改服务器类型cd /opt/nginx-1.12.0/./configure --prefix=/usr/local/nginx --user=nginx --group=nginx --with-http_stub_status_modulemake && make installvim /usr/local/nginx/conf/nginx.conf   server_tokens on;systemctl restart nginxcurl -I http://192.168.221.15

在这里插入图片描述

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

二、修改用户与组

vim /usr/local/nginx/conf/nginx.confuser nginx nginx; 								#取消注释,修改用户为 nginx ,组为 nginxsystemctl restart nginxps aux | grep nginx主进程由root创建,子进程由nginx创建

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

三、缓存时间

vim /usr/local/nginx/conf/nginx.confhttp {......	server {	...... 		location / {			root html;			index index.html index.htm;		}				location ~ \.(gif|jpg|jepg|png|bmp|ico)$ { 		#加入新的 location,以图片作为缓存对象			root html;			expires 1d;									#指定缓存时间,1天		}......	}}systemctl restart nginxcd /usr/local/nginx/html

在这里插入图片描述

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

四、日志切割

vim /fenge.sh#!/bin/bashd=$(date -d "-1 day" "+%Y%m%d")                 #显示前一天的时间logs_path="/var/log/nginx"pid_path=`cat /usr/local/nginx/logs/nginx.pid`[ -d $logs_path ] || mkdir -p $logs_path        #创建日志文件目录#移动并重命名日志文件mv /usr/local/nginx/logs/access.log ${logs_path}/kgc.com-access.log-{$d}#重建日志文件kill -USR1 $pid_path#删除30天前的日志文件                   find $logs_path -mtime +30 -exec rm -rf {} \;#find $logs_path -mtime +30 |xargs rm -rfsource fenge.shls /var/log/nginxls /usr/local/nginx/logs/access.log crontab -e0 1 * * * /root/fenge.sh

在这里插入图片描述

在这里插入图片描述
在这里插入图片描述
小知识补充

在linux操作系统中,每个文件都有很多的时间参数,其中有三个比较主要,分别是ctime,atime,mtime

ctime(status time):
当修改文件的权限或者属性的时候,就会更新这个时间,ctime并不是create time,更像是change time,
只有当更新文件的属性或者权限的时候才会更新这个时间,但是更改内容的话是不会更新这个时间。
atime(accesstime):
当使用这个文件的时候就会更新这个时间。
mtime(modification time):
当修改文件的内容数据的时候,就会更新这个时间,而更改权限或者属性,mtime不会改变,这就是和ctime的区别。

五、连接超时

HTTP有一个KeepAlive模式,它告诉web服务器在处理完一个请求后保持这个TCP连接的打开状态。若接收到来自客户端的其它请求,服务端会利用这个未被关闭的连接,而不需要再建立一个连接。

KeepAlive 在一段时间内保持打开状态,它们会在这段时间内占用资源。占用过多就会影响性能。

vim /usr/local/nginx/conf/nginx.confhttp {......     keepalive_timeout 65 180;    client_header_timeout 80;    client_body_timeout 80;...... }systemctl restart nginx

在这里插入图片描述

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

六、更改进程数

cat /proc/cpuinfo | grep -c "physical id"	#查看cpu核数ps aux | grep nginx							#查看nginx主进程中包含几个子进程vim /usr/local/nginx/conf/nginx.confworker_processes  2;worker_cpu_affinity 01 10;systemctl restart nginx

在这里插入图片描述

在这里插入图片描述

七、配置网页压缩

vim /usr/local/nginx/conf/nginx.confhttp {......    gzip on;							#取消注释,开启gzip压缩功能   gzip_min_length 1k;      		#最小压缩文件大小   gzip_buffers 4 16k;      		#压缩缓冲区,大小为4个16k缓冲区   gzip_http_version 1.1;   		#压缩版本(默认1.1,前端如果是squid2.5请使用1.0)   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;		#压缩类型,表示哪些网页文档启用压缩功能...... }

在这里插入图片描述

cd /usr/local/nginx/html先将game.jpg文件传到/usr/local/nginx/html目录下vim index.html...... 				#网页中插入图片systemctl restart nginx

在这里插入图片描述

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

八、配置防盗链

防盗链是防止别人的网站代码里面盗用我们自己服务器上的图片、文件、视频等相关资源

如果别人盗用网站的这些静态资源,明显的是会增大服务器的带宽压力,作为网站的维护人员,要杜绝服务器的静态资源被其他网站盗用

1、盗链主机获取服务器图片过程(盗链主机安装nginx并开启服务)

cd /usr/local/nginx/html vim index.html 

盗取海贼,王路飞!

echo "192.168.221.70 www.abc.com" >> /etc/hostsecho "192.168.221.80 www.def.com" >> /etc/hosts

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

2、防盗链过程(修改源主机nginx.conf文件)

cd /usr/local/nginx/html vim index.html 

我是海贼,王路飞!

echo "192.168.221.70 www.abc.com" >> /etc/hostsecho "192.168.221.80 www.def.com" >> /etc/hosts
vim /usr/local/nginx/conf/nginx.confhttp {......	server {	......        location ~*\.(jpg|gif|swf)$ {          valid_referers *.abc.com abc.com;          if ( $invalid_referer ) {          rewrite ^/ http://www.abc.com/error.png;          return 403;        }        }	......	}}systemctl restart nginx

在这里插入图片描述

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

九、fpm参数优化

vim /usr/local/php/etc/php-fpm.conf pid = run/php-fpm.pidvim /usr/local/php/etc/php-fpm.d/www.conf–96行–pm = dynamic				#fpm进程启动方式,动态的–107行–pm.max_children=20			#fpm进程启动的最大进程数–112行–pm.start_servers = 5		#动态方式下启动时默认开启的进程数,在最小和最大之间–117行–pm.min_spare_servers = 2	#动态方式下最小空闲进程数–122行–pm.max_spare_servers = 8	#动态方式下最大空闲进程数kill -USR2 `cat /usr/local/php/var/run/php-fpm.pid`			#重启php-fpmnetstat -anpt | grep 9000

转载地址:http://lancz.baihongyu.com/

你可能感兴趣的文章