Nginx网页优化
隐藏版本信息
方式一
在Nginx的主配置文件中的HTTP模块下新增命令;标黄为新增内容
http {
include mime.types;
default_type application/octet-stream;
server_tokens off;
隐藏前
隐藏后
方式二
1. 在Nginx的主配置文件中的HTTP模块下新增命令;标黄为新增内容
http {
include mime.types;
default_type application/octet-stream;
server_tokens on;
2. vim nginx-1.12.2/src/core/nginx.h
#define nginx_version 1012000 修改发行时间
#define NGINX_VERSION "1.1.1" 修改版本号
#define NGINX_VER "IIS/" NGINX_VERSION 修改软件
3. 将Nginx服务停止
Systemctl stop nginx
4. 重新编译,安装
cd nginx-1.12.2
make && make install
隐藏前
隐藏后
配置Nginx网页缓存时间
vim /etc/nginx.conf
在location模块下,新增内容
Location ~ \.(gif | jpgljepglpng | bmp| ico)$ {
root html;
expires 2h; 具体缓存时间可变
}
备注:网页可在http、srever、location等多个模块中设置
配置后效果
配置Nginx日志分割
1. vim fenge.sh
#! /bin/bash
# 日志分割
d=$(date -d "-1 day" "+%Y-%m-%d")
Logs_path="/var/log/nginx"
pid_path="/usr/local/nginx/logs/nginx.pid"
[ -d $logs_path ] || mkdir $logs_path
mv /usr/local/nginx/logs/access.log ${logs_path}/mcc.com.access.log-$d
kill -HUP $(cat $pid_path)
find $logs_path -mtime +60 | xargs rm -rf
chmod +x access.log
chmod +x fenge.sh
./fenge.sh
2. crontab –e
0 1 * * * /usr/bin/sh /root/fenge.sh
配置前
配置后
配置Nginx超时时间
vim /etc/ginx.conf
keepalive_timeout 65 180;
client_header_timeout 80;
client_body_timeout 80;
配置后效果图
修改Nginx进程数
1. 查看虚拟机核数
Cat /proc/cpuinfo | grep –c “physical”
2. 在主配置文件中做修改
vim /etc/nginx.conf
worker_processes 8;
worker_cpu_affinity 00000001 00000010 00000100 00001000 00010000 00100000 01000000 10000000;
events {
use epoll;
worker_connections 4096;
}
3. ulimit –n 65535 >> rc.local
4. ps aux | grep nginx
配置后效果图
Nginx网页压缩
vim /etc/nginx.conf
gzip on;
gzip_min_length 1k;
gzip_buffers 4 16k;
gzip_http_version 1.1;
gzip_comp_level 6;
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;
gzip_disable "MSIE [1-6]\.";
gzip_vary on;
效果图
Nginx防盗链
在另外一台机器上yum安装Apache作为模拟盗用的机器
yum –y install httpd
在/var/www/html/目录下建一个静态网页
Vim /var/www/html/index.html
<html>
<body>
this is my web
<img src=”http://192.168.17.10/kb.jpg.jpg” />
</body>
</html>
访问该机器
通过访问结果,我们发现,这个结果和另一台机器一模一样;这说明它盗用了另一台的站点的资源;所以需要在被盗机器上做防盗链来保护站点资源
- 在被盗用资源的机器上:
vim /etc/nginx.conf
location ~* \.(jpg|gif|swf)$ {
valid_referers none blocked *.mcc.com mcc.com 192.168.17.10;
if ($invalid_referer) {
rewrite ^/http://192.168.17.10/gg.png;
}
}
- 在盗用资源的机器上做映射
vim /etc/hosts
192.168.17.10 www.mcc.com
然后分别访问这两台机器,查看效果
FPM参数优化
/usr/local/php/sbin/php-fpm -c /usr/local/php/lib/php.ini
netstat –anpt | grep 9000
cd /usr/local/php/etc/php-fpm.d/
vim www.conf
pm = dynamic
pm.max_children = 20
pm.start_servers = 5
pm.min_spare_servers = 2
pm.max_spare_servers = 8
验证:
pkill php-fpm
/usr/local/php/sbin/php-fpm -c /usr/local/php/lib/php.ini
ps aux | grep php-fpm