目标:
- ----->>隐藏版本<<------------------------------
- ----->>更改Nginx默认默认用户<<----------
- ----->>工作进程优化<<------------------------
- ----->>调整单个进程的客户端最大连接数
- ----->>优化服务器的散列表<<----------------
- ------>>高效文件传输模式<<------------------
- ------>>优化Nginx边境参数<<----------------
- ------>>传文件限制<<--------------------------
- ------>>配置 Nginx Gzip<<---------------------
-
------>>Nginx expires缓存<<-----------------
一、隐藏版本
1)隐藏版本有两种方法
1.通过参数隐藏
备份文件
sudo cp /usr/local/nginx/conf/nginx.conf{,.bak_date +%y%m%d
}
1.1.2编辑配置文件
vim /usr/local/nginx/conf/nginx.conf
1.1.3:在http区域添加 server_tokens off;
http {…………
server_tokens off;
…………}1.2.1:cat -n /usr/local/nginx/conf/nginx.conf 1.2.2:使用sed在特定行写入 sed -i '17 i server_tokens off;' nginx.conf 放在http区域内是 控制响应头部内的版本显示和错误页面的版本信息显示。 2.重载Nginx /usr/local/nginx/sbin/nginx -s reload
二、更改Nginx默认默认用户
1.为Nginx建立用户
不能有登录权限: useradd USERNAME -s /sbin/nologin -M
id USERNAME
2.更改默认用户
2.1通过配置文件参数修改
#user nobody; 去掉注释
2.2在编译时,指定编译的用户和组
./configure --* --user=USERNAME --grep=GROUPNAME --
3.查看Nginx运行软件的用户
ps -ef |grep nginx |grep -v grep
nginx 414 28024 0 00:00 ? 00:00:00 nginx: worker process #Nginx 工作进程用户
root 28024 1 0 Mar23 ? 00:00:00 nginx: master process /usr/local/nginx/sbin/nginx #Nginx的主进程用户
三、调整单个进程的客户端最大连接数
worker_connections #控制连接数
Nignx最大连接数=worker_connectionsworker_processes
受系统进程打开的最大文件数限制
四、优化服务器的散列表
4.1listen 80;
#散列表 server_name 52linux.club;
一个端口最多关联3张表
确切名字的散列表: blog.52linux.club
以开始的通配符名称散列表 .52linux.club
以结束的通配符名称散列表 blog.52linux.*
4.2存放散列表(域名)的最大值
server_names_hash_bucket_size 32 | 64 |其它值; 取绝于cpu缓存行长度
server_names_hash_max_size 512;
五、高效文件传输模式
参数:sendfile on;
tcp_nopush on;
只有当sedfile参数开启时,才有效
3.7:优化Nginx边境参数
配置连接超时作用
保护服务器的系统资源
配置参数
keepalive_timeout 60
可配置范围:http、server、location
六、上传文件限制
参数:client_max_body_size 1m;
可配置范围:http,server,location
七、配置 Nginx Gzip
用户访问数据时,服务端对数据进行压缩,节约带宽以提升用户体验
压缩对象:纯文本:css,html,js,xml等
配置参数
gzip on; #开启压缩功能
gzip_min_length 1K; #允许压缩的最小字节数
gzip_buffers 4 32k;
gzip_http_version 1.1;
gzip_proxied off;
gzip_comp_level 1;
前端Web调试工具
chrome (F12)
八、Nginx expires缓存
定义用户级访问网站内容的过期时间。
通过配置文件控制http协议的Expires和cache-control
location ~*(png|jpg|gif|jpeg|bmp)$ {expires 365d;}
九、不记录不需要访问的日志
针对负载均衡器的健康检查,或特殊文件的日志,
转载于:https://blog.51cto.com/gameboy/2093325