Nginx调优
隐藏Nginx版本号
首先下载Nginx源码包
wget http://nginx.org/download/nginx-1.14.1.tar.gz
然后解压`
tar zxvf nginx-1.14.1.tar.gz -C /usr/local/src/
进入到Nginx目录
cd /usr/local/src/nginx-1.14.1/
- 修改Nginx软件版本号
vim src/core/nginx.h
改:
14#define NGINX_VERSION “1.14.1”
#define NGINX_VER “nginx/” NGINX_VERSION
为:
#define NGINX_VERSION “8.8.8” #此行修改为是你想要的版本号
#define NGINX_VER “XWS/” NGINX_VERSION #慈航修改的是你想要的软件名称
2. 修改HTTP头信息中的connection字段,防止回显真实的版本号
vim src/http/ngx_http_header_filter_module.c
改:49 static char ngx_http_server_string[] = “Server: nginx” CRLF;
为:49 static char ngx_http_server_string[] = “Server: XWS” CRLF;
编译安装Nginx
安装nginx时必须先安装相应的编译工具
yum -y install gcc gcc-c++ autoconf automake zlib zlib-devel openssl
openssl-devel pcre pcre-devel
创建一个Nginx用户用于后期启动nginx进程使用,相对root用户启动更安全
useradd -s /sbin/nologin -M nginx
编译nginx
./configure --prefix=/usr/local/nginx --user=nginx
--group=nginx --with-http_ssl_module --with-http_realip_module
--with-http_gzip_static_module --with-pcre
安装nginx
make && make install
启动nginx服务
/usr/local/nginx/sbin/nginx
修改 nginx 运行用户-设置 nginx 的 cpu 亲和力
修改Nginx运行用户
vim /usr/local/nginx/conf/nginx.conf
改:2 #user nobody;
为:2 user nginx;
/usr/local/nginx/sbin/nginx -s reload
设置Nginx运行进程个数
Nginx运行进程个数一般设置为CPU的核心数或核心数的2倍
vim /usr/local/nginx/conf/nginx.conf
改: 3 worker_processes 1;
为: 3 worker_processes 4;
/usr/local/nginx/sbin/nginx -s reload
设置Nginx运行CPU的亲和力
vim /usr/local/nginx/conf/nginx.conf
3 worker_processes 4; #在此行下添加
4 worker_cpu_affinity 0001 0010 0100 1000;
./sbin/nginx -s reload
设置 Nginx 每个进程最多可以打开的文件数和事件处理模型
Nginx最多可以打开文件数
vim /usr/local/nginx/conf/nginx.conf
4 worker_cpu_affinity 0001 0010 0100 1000; #在这一行下面,插入以下内容
5 worker_rlimit_nofile 102400;
Nginx时间处理模型
vim /usr/local/nginx/conf/nginx.conf
14 events {
15 use epoll; #添加这一行,使用 epoll 模式
16 worker_connections 102400;
17 }
单个进程允许客户端最大并发连接数
vim /usr/local/nginx/conf/nginx.conf
改:16 worker_connections 1024; #改第 16 行
为:16 worker_connections 102400;
ServerName 和 location 匹配及高效传输模式
ServerName 匹配
对应需要修改的配置文件的位置是 40 行和 46 行
vim /usr/local/nginx/conf/nginx.conf
修改 server_name 值为 zhangxiaopang.cn
vim /usr/local/nginx/conf/nginx.conf
改:40 server_name localhost;
为:40 server_name xuegod63.cn;
/usr/local/nginx/sbin/nginx -t
/usr/local/nginx/sbin/nginx -s reload
开启高效传输模式
vim /usr/local/nginx/conf/nginx.conf
30 sendfile on;
31 tcp_nopush on;