Nginx服务优化

配置Nginx隐藏版本号

隐藏Nginx版本号,避免安全漏洞泄漏
Nginx隐藏版本号的方法
修改配置文件法
修改源码法

将Nginx配置文件中server_tokens 选项的值设置为off

vi nginx.conf
修改配置文件 server_tokens off; 关闭版本号
nginx -t 检查语法

重启服务,访问网站使用curl -l命令检测

systemctl restart nginx
curl -l http://192.168.100.111

使用PHP处理动态网页

若PHP配置文件中配置了fastcgi_param
SERVER_SOFTWARE 选项
则编辑php-fpm配置文件,将fastcgi_param
SERVER_SOFTWARE 对应的值修改为astcgi_param
SERVER_SOFTWARE nginx;

修改源码法

Nginx源码文件/usr/src/nginx-1.12.0/src/core/nginx.h包含版本信息,可以随意设置
重新编译安装,隐藏版本信息
实例
#define NGINX_VERSION “1.1.1” ,修改版本号为1.1.1
#define NGINX_VER “IIS” ,修改软件类型为IIS
重启服务,访问网站使用curl -l 命令检测

修改Nginx用户与组
Nginx运行时进程需要有用户与组的支持,以实现对网站文件读取时进行访问控制
Nginx默认使用nobody用户账号与组账号
修改的方法
编译安装时指定用户与组
修改配置文件指定用户与组

编译安装时指定
创建用户账号与组账号,如nginx
编译安装时–user与–group指定Nginx服务的运行用户与组账号
./congigure
-prefix=/usr/local/nginx
–user=nginx
–group=nginx \

修改配置文件法指定
新建用户账号,如nginx
修改著配置文件 user选项,指定用户账号与组账号
重启nginx服务,使配置生效
使ps aux命令查看nginx的进程信息,验证运行用户账号改变效果

实现Nginx的日志切割

随着Nginx运行时间增加,日志也会增加。为了方便掌握Nginx运行状态,需要时刻关注Nginx志文件
太大的白志文件对监控是一个大灾难
定期进行日志文件的切割
Nginx自身不具备日志分割处理的功能,但可以通过Nginx信号控制功能的脚本实现日志的自动切割
通过Linux的计划任务周期性地进行日志切割

编写脚本进行日志切割的思路
设置时间变量
设置保存日志路径
将目前的日志文件进行重命名
重建新日志文件
删除时间过长的日志文件
设置cron任务,定期执行脚本自动进行日志分割

FOM优化参数

Static的方式的参数
pm.max_children:指定启动的进程数量
Dynamic方式的参数
pm.max_chidren:指定启动进程数的最大值
pm.start_servers:动态方式下初始的fpm进程数
pm.min_spare_servers:动态

版本隐藏

先建立个链接 方便访问
修改配置

ln -s /usr/local/nginx/conf/nginx.conf /etc/
vi /etc/nginx.conf

在这里插入图片描述

保存后退出,重启
在这里插入图片描述

查看版本:

curl -I http://localhost

在这里插入图片描述

隐藏版本,需要修改的配置
vi /etc/nginx.conf

在这里插入图片描述

修改第一个是日期 第二个是版本号 第三个搭建的软件
vi nginx-1.12.2/src/core/nginx.h

在这里插入图片描述

改好后 关闭nginx 再编译安装

在这里插入图片描述

安装结束后 启动nginx服务

在这里插入图片描述

查看版本
会发现 搭建的软件 从nginx变成了IIS

在这里插入图片描述

修改Nginx账户

先查看
ps aux | grep nginx

在这里插入图片描述

修改配置
vi /etc/nginx.conf

在这里插入图片描述

修改后

在这里插入图片描述

配置缓存

先放进图片 /usr/local/nginx/html
在这里插入图片描述

修改Nginx的配置

在这里插入图片描述

网页图片链接

在这里插入图片描述

重启服务
在这里插入图片描述

会发现只有图片缓存了

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

日志分割

	vim 1.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 -p $logs_path
	mv /usr/local/nginx/logs/access.log ${logs_path}/aa.com.access.log-$d
	kill -HUP $(cat $pid_path)                   
	find $logs_path -mtime +60 | xargs rm -rf 

在这里插入图片描述
给权限 再执行脚本

在这里插入图片描述
截切结果

在这里插入图片描述

设置cron任务计划

在这里插入图片描述
查看

在这里插入图片描述
配置连接超时

	vi /etc/nginx

	keepalive_timeout  65 180;
	client_header_timeout 80;
	client_body_timeout 80;

在这里插入图片描述
重启nginx服务
访问IP 抓包查看
在这里插入图片描述

更改进程数

查看核心数
	cat /proc/cpuinfo | grep -c "physical"
	![在这里插入图片描述](https://img-blog.csdnimg.cn/20201201092507401.png)

查看进程

在这里插入图片描述
编辑配置文件

vi /etc/nginx.conf 
worker_processes  8;
worker_cpu_affinity 00000001 00000010 00000100 00001000 00010000 00100000 01000000 10000000;

在这里插入图片描述
检查语法 可能 字符不够
在这里插入图片描述
就用

ulimit -n 65535 >> /etc/rc.local

再检测语法 就可以了

网页压缩

vi /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;

在这里插入图片描述
检查语法
重启服务

在这里插入图片描述

设置防盗链

vi /etc/nginx.conf
location ~* \.(jpg|gif|swf)$ {
         valid_referers none blocked *.chen.com chen.com 192.168.100.111;
         if ($invalid_referer ) {
         rewrite ^/ http://www.chencom/2.png;
         }
    }

在这里插入图片描述

检查语法
重启服务

在这里插入图片描述

把图片 复制到 /usr/local/nginx/html/

进入站点目录修改index.html
在这里插入图片描述

防盗链设置成功
在这里插入图片描述

FPM模块优化

cd /usr/local/php/etc/php-fpm.d/
vi www.conf

在这里插入图片描述
ps aux | grep php-fpm
在这里插入图片描述

  • 0
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Nginx是一个高性能的Web服务器和反向代理服务器,它具有占用资源少、处理请求快、支持高并发等优点,但是在大流量环境下,需要对Nginx进行优化,以提高性能和稳定性。 以下是一些Nginx优化的建议: 1. 调整worker_processes参数 worker_processes参数是Nginx的工作进程数,建议将其设置为CPU核心数的两倍。 例如,如果你的服务器有8个CPU核心,则可以将worker_processes设置为16。 2. 增加worker_connections参数 worker_connections参数表示每个工作进程可以同时处理的连接数,建议将其设置为1024或更高。 可以通过以下命令查看当前系统的最大连接数: ``` ulimit -n ``` 如果当前值较小,则需要增加该值: ``` ulimit -n 65535 ``` 3. 开启TCP Keepalive TCP Keepalive可以在连接空闲一段时间后,自动发送一个探测包,以保持连接的有效性。 可以通过以下命令开启TCP Keepalive: ``` tcp_nodelay on; tcp_nopush on; keepalive_timeout 60s; ``` 其中,keepalive_timeout表示空闲连接的超时时间。 4. 启用gzip压缩 启用gzip压缩可以减少传输数据量,提高网站的响应速度。 可以通过以下命令开启gzip压缩: ``` gzip on; gzip_min_length 1k; gzip_buffers 16 64k; gzip_http_version 1.1; gzip_comp_level 6; gzip_types text/plain text/css application/json application/javascript text/xml application/xml application/xml+rss text/javascript; ``` 其中,gzip_types表示需要压缩的文件类型。 5. 限制请求速率 限制请求速率可以防止恶意攻击和DDoS攻击。 可以通过以下命令限制请求速率: ``` limit_req_zone $binary_remote_addr zone=one:10m rate=1r/s; ``` 其中,$binary_remote_addr表示客户端IP地址,zone表示限制区域,10m表示限制区域的内存大小,rate表示请求速率。 6. 缓存静态文件 缓存静态文件可以减少文件的读取次数,提高网站的响应速度。 可以通过以下命令缓存静态文件: ``` location ~* \.(jpg|jpeg|png|gif|ico|css|js)$ { expires 1d; add_header Cache-Control "public"; } ``` 其中,expires表示文件的过期时间,add_header表示响应头信息。 以上是一些Nginx优化建议,需要根据实际情况进行调整和优化
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值