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相关推荐

  1. Nginx 服务优化与防盗链

    文章目录 一.隐藏版本号 1.1 隐藏版本号的操作步骤(理论) 1.2 隐藏版本号的实验具体步骤(实操) 1.3 修改用户与组 二.缓存时间 2.1缓存时间的操作步骤(理论) 2.2 缓存时间的实验具 ...

  2. Apache网页优化 ---配置防盗链

    防盗链概述 防盗链就是防止别人的网站代码里面盗用服务器的图片文件.视频等相关资源.如果别人盗用网站的这些静态资源,明显的是会增大服务器的带宽压力.所以作为网站的维护人员,要杜绝我们服务器的静态资源被其 ...

  3. Nginx高级优化(2): shell脚本日志切割,连接超时,进程数,网页压缩,防盗链,FPM 参数优化!!

    呕心沥血书写,看完后对Nginx了如执掌,不看真的后悔!! shell脚本日志分割 设置连接超时 Nginx深入优化 更改进程数 配置网页压缩 配置防盗链 20.0.0.25 主机:开始盗链 20.0 ...

  4. Nginx优化与防盗链

    Nginx优化与防盗链 一.隐藏nginx版本号 1.1查看版本号 1.2隐藏版本信息 二.修改用户与组 三.缓存时间 四.日志分割 五.连接超时 六.更改进程数 七.配置网页压缩 八.配置防盗链 8 ...

  5. 学会Nginx优化与防盗链预防坏蜀黍

    Nginx优化与防盗链 文章目录 一.Nginx优化 1.配置nginx隐藏版本号 修改配置文件 修改源码文件,重新编译安装 2.修改用户与组 3.缓存时间 4.日志切割 5.连接超时 6.更改进程数 ...

  6. Nginx优化之防盗链

    Nginx优化之防盗链 文章目录 Nginx优化之防盗链 前言 实验环境 实验步骤 前言 之前,我们知道了Apache的防盗链,接下来我们来看看nginx的防盗链. 有时候在浏览网页的时候,会遇到某些 ...

  7. Apache 网页与安全优化(网页压缩--缓存--防盗链等)

    文章目录 前言 一.Apache 网页优化 1.1.网页压缩 1.1.1.gzip 介绍 1.1.2.Apache 的压缩模块 1.1.3.mod_deflate 模块 1.2.网页缓存 二.Apac ...

  8. Nignx优化与防盗链

    目录 前言 1.nginx优化 2.修改用户和组 3.设置缓存时间 4.日志分割 5.连接超时 6.更改进程数 7.网页压缩 8.盗链与防盗链 9.FPM模块参数优化 小结 前言 在企业信息化应用环境 ...

  9. nginx rewrite重写与防盗链配置

    nginx rewrite重写规则与防盗链配置方法 时间:2016-02-04 15:16:58来源:网络 导读:nginx rewrite重写规则与防盗链配置方法,rewrite规则格式中flag标 ...

最新文章

  1. JDK8中好用的日期处理-LocalDate类-LocalTime-LocalDateTIme,mysql解决时区相差13小时的问题,日期格式器DateTimeFormatter
  2. Hashtable元素的删除
  3. Python的压缩文件处理 zipfile tarfile
  4. 【更新】ReSharper v2016.3发布,Visual Studio 2017 RC初步支持
  5. js动态创建对象_JS深浅拷贝的深入浅出
  6. 【渝粤教育】广东开放大学 人工智能 形成性考核 (55)
  7. a访问过后hover样式就不出现了 被点击访问过的超链接样式不再具有hover和active 解决方法...
  8. 问题 I: Sequence Problem : Array Practice
  9. windows10 搜索桌面搜索功能失效的解决
  10. MacOS之Chrome弹框:代理要求提供用户名和密码(已解决)
  11. 基于zookeeper的分布式锁实现原理是什么?
  12. oracle 修改sga参数,oracle 参数文件的修改,sga pga参数的修改
  13. 这7个素材网站送你参考,一部手机就可以做影视剪辑,0基础抖音涨粉
  14. 70行代码让你远离颈椎病,致所有的程序猿们
  15. IDEA设置按键提示 Ctrl+p
  16. php源码比赛,TSRC挑战赛: PHP防御绕过挑战实录
  17. 联想笔记本屏幕扩展快捷键用不了
  18. a foreign key constraint fails
  19. MATLAB数字水印设计
  20. 自己开发的一个抢票软件客户端

热门文章

  1. 程序员听黑怕,你怕不怕
  2. word排版难题:如何消除页面末尾的空白行?
  3. Kubernetes集群
  4. 软件设计师——四、软件工程
  5. 2019深度社交新零售是一个巨大的财富机遇!
  6. 考研计算机科学与技术属于理学么,计算机科学与技术是属于工学类还是理学类?...
  7. 入坑”自媒体写作,我有干货与你分享
  8. MPO 光纤系统升级到 40G/100G 以太网方案
  9. 【C++学习笔记】引用传递
  10. 爱奇艺 App 中台技术实践