基础的Nginx优化

隐藏版本号

隐藏Nginx版本号,避免安全漏洞泄露
Nginx隐藏版本号的方法
未隐藏版本号前使用curl -I(大写的i)命令检测结果

在这里插入图片描述

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

修改Nginx用户和组

Nginx运行时进程需要有用户与组的支持,以实现对网站文件读取时进行访问控制
Nginx默认使用nobody用户账号与组账号

修改的方法

编译安装时指定用户与组

在这里插入图片描述

配置Nginx网页缓存时间

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

设置方法

在主配置文件的location段加入expires参数

在这里插入图片描述

实现Nginx的日志切割

随着Nginx运行时间增加,日志也会增加。太大的日志文件对监控是一个大灾难。所以需要定期进行日志文件的切割

Nginx自身不具备日志分割处理的功能,但可以通过Nginx信号控制功能的脚本实现日志的自动切割(Kill -HUP cat /xxx/log/nginx.pid #平滑重启nginx,类似reload)
-QUIT :结束进程;-USR1:日志分割;-USR2:平滑升级

通过Linux的计划任务周期性地进行日志切割

编写脚本进行日志切割示例

在这里插入图片描述

在这里插入图片描述

关于日期

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

配置Nginx实现连接超时

为避免同一客户端长时间占用连接,造成资源浪费,可设置相应的连接超时参数,实现控制连接访问时间

Nginx使用keepalive_timeout来指定KeepAlive的超时时间(timeout)

指定每个TCP连接最多可以保持多长时间。Nginx的默认值是65秒,有些浏览器最多只保持60秒,
若将它设置为0,就禁止了keepalive连接。

在这里插入图片描述

更改Nginx运行进程数

在高并发场景,需要启动更多的Nginx进程以保证快速响应,以处理用户的请求,避免造成阻塞。

修改配置文件的worker_processes参数
一般设为CPU的个数或者核数
在高并发情况下可设置为CPU个数或者核数的2倍

增加进程数,可减少了系统的开销,提升了服务速度

使用ps aux查看运行进程数的变化情况

配置Nginx实现网页压缩功能

修改配置文件

1 [root@localhost ~]# vi /usr/local/nginx/conf/nginx.conf
2 gzip on; ###开启gzip压缩功能
3 gzip_min_length 1k; ###压缩阈值(超过1k的文件进行压缩)
4 gzip_buffers 4 16k; ###buffer(缓冲)大小为4个16k缓冲区大小
5 gzip_http_version 1.1; ###压缩版本
6 gzip_comp_level 6; ###压缩比率,最小为1,处理速度快,传输速度慢;最大为9,处理速度慢,传输速度快
7 gzip_types text/plain application/x-javascript text/css image/jpg image/png image/gif application/xml text/javascript application/x-http-php application/javascript application/json;
8 gzip_vary on; ###选择支持vary header可以让前端的缓存服务器缓存经过gzip压缩的页面
9
10 [root@localhost ~]# vi /usr/local/nginx/html/index.html ###插入图片
11

web 1

<img src=a.jpg / >
12 [root@localhost ~]# systemctl restart nginx

完成后打开游览器 验证

在这里插入图片描述

Nginx防盗链设置

盗链主机配置(IP:20.0.0.30)

在这里插入图片描述
盗链网站首页配置

1 [root@server1 ~]# vi /var/www/html/index.html
2

server 2

<img src=http://20.0.0.10/a.jpg / >

、源主机防盗链配置

在这里插入图片描述

对FPM模块进行参数优化

Nginx 的 PHP 解析功能实现如果是交由 FPM 处理的,为了提高 PHP 的处理速度,可对FPM 模块进行参数跳转。

FPM 优化参数:
pm 使用哪种方式启动 fpm 进程,可以说 static 和 dynamic,前者将产生固定数量的 fpm 进程,后者将以动态的方式产生 fpm 进程
pm.max_children :static 方式下开启的 fpm 进程数
pm.start_servers :动态方式下初始的 fpm 进程数量
pm.min_spare_servers :动态方式下最大的 fpm 空闲进程数
pm.max_spare_servers :动态方式下最大的 fpm 空闲进程数

优化原因:服务器为云服务器,运行了个人论坛,内存为1.5G,fpm进程数为20,内存消耗近1G,处理比较慢

优化参数调整
FPM启动时有5个进程,最小空闲2个进程,最大空闲8个进程,最多
可以有20个进程存在

1 [root@localhost ~]# vi /usr/local/php/etc/php-fpm.d/www.conf
2 pm = dynamic
3 pm.max_children = 20
4 pm.start_servers = 5
5 pm.min_spare_servers = 2
6 pm.max_spare_servers = 8
7
8 [root@localhost ~]# /usr/local/php/sbin/php-fpm -c /usr/local/php/etc/php-fpm.d/www.conf
9 [root@localhost ~]# netstat -ntap | grep 9000
10 tcp 0 0 127.0.0.1:9000 0.0.0.0:* LISTEN 2094/php-fpm: maste

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值