Nginx 日常优化(一)

2019-03-05  本文已影响0人  心水Diana

安全优化

nginx.conf
...
http{
   ...
   server_tokenks off ;
   ...
   }
...
在http块下加入 server_tokenks off
image.png
sed -n '13,17p' src/core/nginx.h 
----------------------------------------------------------
#define NGINX_VERSION      "1.156"  # 修改为想修改的版本号
#define NGINX_VER          "nginx/" NGINX_VERSION  #nginx修改为想修改的软件名称  改成apache
#ifdef NGX_BUILD             "NGINX"   #nginx修改为想修改的软件名称  改成apache
#define NGINX_VER_BUILD    NGINX_VER " (" NGX_BUILD ")" "NGINX"   #nginx修改为想修改的软件名称  改成apache

sed -i -e  's/1.12.0//g' -e 's/nginx\//JWS/g' -e   's/"NGINX"/"JWS"/g' src/core/nginx.h
useradd nginx -s /sbin/nologin -M
# nginx.conf 
user nginx nginx ;
或者编译时 ./configure --user=nginx --group=nginx 

配置文件参数

# nginx.conf 
worker_processes 1 ;  --> 指定nginx要开启的进程数
# 参数调整的worker进程数量,nginx有master和worker进程,实际处理请求是为woker进程, master为管理进程。
# 查看cpu个数
grep  -c processor  /proc/cpuinfo 
# 修改nginx.conf 与实际cpu颗数对应
sed -i "/worker_processes/s/1/x/g"  nginx.conf

默认情况nginx可能一个cpu跑多个nginx进程,导致资源分配不均衡

# nginx.conf
worker_processes 4 ;
worker_cpu_affinity 0001 0010 0100 1000; 配置nginx进程与cpu亲和力,把不同nginx进程分配到不同CPU。0001 为掩码 代表 1,2,3,4颗cpu
# 两颗
worker_processes 2; 
worker_cpu_affinity 0101 1010;
比如8核配置
worker_processes 8;
worker_cpu_affinity 00000001 00000010 00000100 0000100000010000 00100000 01000000 10000000;
worker_processes最多开启8个,8个以上性能提升不会再提升了,而且稳定性变得更低,所以8个进程够用了。
#nginx.conf 
events {
    worker_connections  1024;
}
参数包含代理服务器连接,客户端连接等。实际并发连接还受worker_rlimit_nofile 影响
nginx 总并发连接数 = nginx_worker数量 *  worker_connections 
worker_rlimit_nofile 65535;
  # 最大文件打开数,可设置为系统优化后的 ulimit -n 结果
上一篇 下一篇

猜你喜欢

热点阅读