Nginx网页优化及防盗链__gw
Nginx网页优化及防盗链
- Nginx服务优化
- 配置Nginx隐藏版本号
- 方法一
- 方法二
- 修改nginx用户和组
- 网页缓存时间
- Nginx的日志分割
- 编写日志分割脚本
- 制作任务计划
- 链接超时
- 更改Nginx运行进程数
- 网页压缩
- Nginx防盗链
- FPM参数优化
- Static的方式的参数
- Dynamic方式的参数
- 在配置论坛的设备上优化
Nginx服务优化
配置Nginx隐藏版本号
优点:
隐藏Nginx版本号,避免安全漏洞泄露
Nginx隐藏版本号的方法:
①修改配置文件法
②修改源码法
方法一
[root@gw4 ~]# vim /etc/nginx.conf
重启nginx服务,访问服务器地址用抓包工具测试
[root@gw4 ~]# systemctl stop nginx
[root@gw4 ~]# systemctl start nginx
[root@gw4 ~]# curl -I http://localhost
查看结果
方法二
[root@gw4 ~]# vim /etc/nginx.conf
显示版本号,去源码修改
[root@gw4 ~]# vi nginx-1.12.2/src/core/nginx.h
关闭nginx服务,重新编译安装一次
[root@gw4 ~]# systemctl stop nginx
[root@gw4 ~]# cd nginx-1.12.2/
[root@gw4 ~]# make && make install
[root@gw4 ~]# systemctl start nginx
测试
修改nginx用户和组
Nginx运行时进程需要有用户与组的支持,以实现对网站文件读取时进行访问控制
Nginx默认使用nobody用户账号与组账号
修改方法:编译安装时指定用户与组
修改配置文件指定用户与组
[root@gw4 ~]# vim /etc/nginx.conf
查看修改结果
[root@gw4 ~]# ps aux | grep nginx
网页缓存时间
访问nginx主页抓包,查看
[root@gw4 ~]# vi /etc/nginx.conf
修改如下
重启服务,访问nginx主页,抓包
Nginx的日志分割
随着Nginx运行时间增加,日志也会增加,为了方便掌握Nginx运行状态,需要时刻关注Nginx日志文件
太大的日志文件对监控是个大灾难
定期进行日志文件的切割
Nginx自身不具备日志分隔处理的功能,但可以通过Nginx信号控制功能的脚本实现日志的自动切割
通过Linux的计划任务周期性的进行日志切割
编写脚本进行日志切割的思路
设置时间变量
设置保存日志路径
将目前的日志文件进行重命名
重建新日志文件
删除时间过长的日志文件
设置cron任务,定期执行脚本自动进行日志分割
编写日志分割脚本
[root@gw4 ~]# vim rzfg.sh
#!/bin/bash
# 日志分割
d=$(date -d "-2 day" "+%Y%m%d")
logs_path="/var/log/nginx"
pid_path="/usr/local/nginx/logs/nginx.pid"
[ -d $logs_path ] || mkdir -p $logs_path
mv /usr/local/nginx/logs/access.log ${logs_path}/test.com-access.log-$d
kill -HUP $(cat $pid_path)
find $logs_path -mtime +30 | xargs rm -rf[root@gw4 ~]# chmod +x rzfg.sh
[root@gw4 ~]# ./rzfg.sh
[root@gw4 ~]# cd /var/log/nginx/
[root@gw4 nginx]# ll
查看效果
制作任务计划
[root@gw4 ~]# crontab -e
链接超时
为避免同一客户端长时间占用连接,造成资源浪费,可设置相应的连接超时参数,实现控制连接访问时间
超时参数keepalive_timeout #设置连接保持超时时间
client_header_timeout #指定等待客户端发送请求头的超时时间
client_body_timeout #设置请求体读超时时间
[root@gw4 ~]# vim /etc/nginx.conf
修改如下
重启nginx服务,访问nginx主页,抓包
更改Nginx运行进程数
在高并发场景,需要启动更多的Nginx进程以保证快速响应,以处理用户的请求,避免阻塞
修改配置文件的worker_processes参数
一般设置为cpu的个数或核数
在高并发情况下可以设置为cpu个数或核数的2倍
增加进程数,可减少了系统的开销,提升了服务速度
使用ps aux查看运行进程数的变化情况
[root@gw4 ~]# cat /proc/cpuinfo | grep -c "physical id"
4[root@gw4 ~]# ulimit -n 65535 >> /etc/rc.local
[root@gw4 ~]# systemctl restart nginx[root@gw4 ~]# vim /etc/nginx.conf
修改如下
使用以下命令查看状态ps aux | grep nginx
网页压缩
Nginx的ngx_http_gzip_module压缩模块提供对文件内容压缩的功能
允许Nginx服务器将输出内容在发送客户端之前进行压缩,以节约网站带宽,提升用户的访问体验,默认已经安装
可在配置文件中加入相应的压缩功能参数对压缩性能进行优化
[root@gw4 ~]# vim /etc/nginx.conf
添加如下
重启nginx服务,访问nginx主页抓包查看
Nginx防盗链
在企业网站服务中,一般都要配置防盗链功能,以避免网站内容被非法盗用,造成经济损失
Nginx防盗链功能也非常强大。默认情况下,只需要进行简单的配置,即可实现防盗链处理
[root@gw4 ~]# vim /etc/nginx.conf
[root@gw4 ~]# vim /etc/hosts
新建主页index.html
[root@gw4 html]# vim index.html
另一台nginx服务器或apache服务器修改主页
访问20.0.0.14可正常得到图片
访问20.0.0.15出现错无图片,防盗成功
FPM参数优化
1.Nginx的PHP解析功能实现如果是交由FPM处理的,为了提高PHP的处理速度, 可对FPM模块进行参数的调整
2.根据服务器的内存与服务负载,调整FPM模块参数
3.启动fpm进程方式,通过pm参数指定
static:将产生固定数量的fpm进程 (静态)
dynamic:将以动态的方式产生fpm进程 (动态)
Static的方式的参数
pm.max_children: 指定启动的进程数量
Dynamic方式的参数
pm.max_children:指定启动进程数的最大值
pm.start_servers: 动态方式下初始的fpm进程数
pm.min_spare_servers: 动态方式下最小的fpm空闲进程数
pm.max_spare_servers: 动态方式下最大的fpm空闲进程数
在配置论坛的设备上优化
[root@gw4 ~]# systemctl status nginx
[root@gw4 ~]# netstat -anpt | grep 9000
[root@gw4 ~]# cd /usr/local/php/etc/php-fpm.d/
[root@gw4 php-fpm.d]# ls -lh
总用量 40K
-rw-r--r-- 1 root root 19K 11月 30 20:20 www.conf
-rw-r--r-- 1 root root 19K 11月 30 20:14 www.conf.default
[root@gw4 php-fpm.d]# vi www.conf
[root@gw4 php-fpm.d]# cd
pm = dynamic
pm.max_children = 20 static模式下空闲进程数上限,大于下面的值
pm.start_servers = 5 动态方式下默认开启的进程数,在最小和最大之间
pm.min_spare_servers = 2 动态方式下最少空闲进程数
pm.max_spare_servers = 8 动态方式下最大空闲进程数
[root@gw4 ~]# netstat -anpt | grep 9000
tcp 0 0 127.0.0.1:9000 0.0.0.0:* LISTEN 41611/php-fpm: mast
>[root@gw4 php-fpm.d]# ps aux | grep php-fpm //查看进程状态
root 41611 0.0 0.2 214220 4012 ? Ss 11月30 0:03 php-fpm: master process (/usr/local/php/etc/php-fpm.conf)
nobody 41612 0.0 0.6 222456 12488 ? S 11月30 0:00 php-fpm: pool www
nobody 41613 0.0 0.8 320664 16392 ? S 11月30 0:00 php-fpm: pool www
root 54083 0.0 0.0 112680 984 pts/1 S+ 10:44 0:00 grep --color=auto php-fpm
[root@gw4 php-fpm.d]# pkill php-fpm //终止进程
[root@gw4 php-fpm.d]# cd
[root@gw4 ~]# /usr/local/php/sbin/php-fpm -c /usr/local/php/lib/php.ini //重新加载
#效果:
[root@gw4 ~]# ps aux | grep php-fpm
root 54095 0.0 0.2 214236 4132 ? Ss 10:45 0:00 php-fpm: master process (/usr/local/php/etc/php-fpm.conf)
nobody 54096 0.0 0.2 216320 3920 ? S 10:45 0:00 php-fpm: pool www
nobody 54097 0.0 0.2 216320 3920 ? S 10:45 0:00 php-fpm: pool www
nobody 54098 0.0 0.2 216320 3920 ? S 10:45 0:00 php-fpm: pool www
nobody 54099 0.0 0.2 216320 3920 ? S 10:45 0:00 php-fpm: pool www
nobody 54100 0.0 0.2 216320 3924 ? S 10:45 0:00 php-fpm: pool www
root 54102 0.0 0.0 112676 980 pts/1 S+ 10:45 0:00 grep --color=auto php-fpm
Nginx网页优化及防盗链__gw相关推荐
- Nginx 服务优化与防盗链
文章目录 一.隐藏版本号 1.1 隐藏版本号的操作步骤(理论) 1.2 隐藏版本号的实验具体步骤(实操) 1.3 修改用户与组 二.缓存时间 2.1缓存时间的操作步骤(理论) 2.2 缓存时间的实验具 ...
- Apache网页优化 ---配置防盗链
防盗链概述 防盗链就是防止别人的网站代码里面盗用服务器的图片文件.视频等相关资源.如果别人盗用网站的这些静态资源,明显的是会增大服务器的带宽压力.所以作为网站的维护人员,要杜绝我们服务器的静态资源被其 ...
- Nginx高级优化(2): shell脚本日志切割,连接超时,进程数,网页压缩,防盗链,FPM 参数优化!!
呕心沥血书写,看完后对Nginx了如执掌,不看真的后悔!! shell脚本日志分割 设置连接超时 Nginx深入优化 更改进程数 配置网页压缩 配置防盗链 20.0.0.25 主机:开始盗链 20.0 ...
- Nginx优化与防盗链
Nginx优化与防盗链 一.隐藏nginx版本号 1.1查看版本号 1.2隐藏版本信息 二.修改用户与组 三.缓存时间 四.日志分割 五.连接超时 六.更改进程数 七.配置网页压缩 八.配置防盗链 8 ...
- 学会Nginx优化与防盗链预防坏蜀黍
Nginx优化与防盗链 文章目录 一.Nginx优化 1.配置nginx隐藏版本号 修改配置文件 修改源码文件,重新编译安装 2.修改用户与组 3.缓存时间 4.日志切割 5.连接超时 6.更改进程数 ...
- Nginx优化之防盗链
Nginx优化之防盗链 文章目录 Nginx优化之防盗链 前言 实验环境 实验步骤 前言 之前,我们知道了Apache的防盗链,接下来我们来看看nginx的防盗链. 有时候在浏览网页的时候,会遇到某些 ...
- Apache 网页与安全优化(网页压缩--缓存--防盗链等)
文章目录 前言 一.Apache 网页优化 1.1.网页压缩 1.1.1.gzip 介绍 1.1.2.Apache 的压缩模块 1.1.3.mod_deflate 模块 1.2.网页缓存 二.Apac ...
- Nignx优化与防盗链
目录 前言 1.nginx优化 2.修改用户和组 3.设置缓存时间 4.日志分割 5.连接超时 6.更改进程数 7.网页压缩 8.盗链与防盗链 9.FPM模块参数优化 小结 前言 在企业信息化应用环境 ...
- nginx rewrite重写与防盗链配置
nginx rewrite重写规则与防盗链配置方法 时间:2016-02-04 15:16:58来源:网络 导读:nginx rewrite重写规则与防盗链配置方法,rewrite规则格式中flag标 ...
最新文章
- JDK8中好用的日期处理-LocalDate类-LocalTime-LocalDateTIme,mysql解决时区相差13小时的问题,日期格式器DateTimeFormatter
- Hashtable元素的删除
- Python的压缩文件处理 zipfile tarfile
- 【更新】ReSharper v2016.3发布,Visual Studio 2017 RC初步支持
- js动态创建对象_JS深浅拷贝的深入浅出
- 【渝粤教育】广东开放大学 人工智能 形成性考核 (55)
- a访问过后hover样式就不出现了 被点击访问过的超链接样式不再具有hover和active 解决方法...
- 问题 I: Sequence Problem : Array Practice
- windows10 搜索桌面搜索功能失效的解决
- MacOS之Chrome弹框:代理要求提供用户名和密码(已解决)
- 基于zookeeper的分布式锁实现原理是什么?
- oracle 修改sga参数,oracle 参数文件的修改,sga pga参数的修改
- 这7个素材网站送你参考,一部手机就可以做影视剪辑,0基础抖音涨粉
- 70行代码让你远离颈椎病,致所有的程序猿们
- IDEA设置按键提示 Ctrl+p
- php源码比赛,TSRC挑战赛: PHP防御绕过挑战实录
- 联想笔记本屏幕扩展快捷键用不了
- a foreign key constraint fails
- MATLAB数字水印设计
- 自己开发的一个抢票软件客户端