[root@cjq11 ~]# curl -I http://www.baidu.com
[root@cjq11 ~]# cd /usr/local/src/nginx-1.22.0/
[root@cjq11 nginx-1.22.0]# vim src/core/nginx.h
第13、14行修改版本号和服务器名称
[root@cjq11 nginx-1.22.0]# vim src/http/ngx_http_header_filter_module.c
49行nginx改为web
[root@cjq11 nginx-1.22.0]# vim src/http/ngx_http_special_response.c
#这个文件定义了http错误码的返回,有时候我们页面程序出现错误,Nginx会代我们返回相应的错误代码,回显的时候,会带上nginx和版本号,我们把他隐藏起来.
新版本使用的是变量不修改,旧版本改为 web即可
编译安装nginx时若不指定--user=,--group=选项,默认是nobody用户
[root@cjq11 ~]# ps -aux | grep nginx
[root@cjq11 ~]# useradd -M -s /sbin/nologin nginx
修改配置文件(只改文件,没有用户就会报错!)
[root@cjq11 ~]# vim /usr/local/nginx/conf/nginx.conf
第二行
改:
#user nobody;
为:
user nginx;
[root@cjq11 ~]# nginx -t
[root@cjq11 ~]# nginx -s reload
[root@cjq11 ~]# grep ^processor /proc/cpuinfo | wc -l
根据自己cpu个数修改下面进程数
进程数和cpu数相同即可(我这一个cpu,所以未作修改)
[root@cjq11 ~]# vim /usr/local/nginx/conf/nginx.conf
第三行
worker_processes 1;
这个要根据你的CPU进程数配置
[root@cjq11 ~]# vim /usr/local/nginx/conf/nginx.conf
? worker_processes? 2;
? worker_cpu_affinity? 01? 10;
[root@cjq11 ~]# vim /usr/local/nginx/conf/nginx.conf
? worker_processes? 4;
? worker_cpu_affinity 0001 001 0100 1000;
[root@cjq11 ~]# vim /usr/local/nginx/conf/nginx.conf
? worker_processes? 8;
??worker_cpu_affinity 00000001 00000010 00000100 00001000 00010000 00100000 01000000 10000000;
[root@cjq11 ~]# vim /usr/local/nginx/conf/nginx.conf
worker_processes? 2;
worker_cpu_affinity 0101 1010;
第一个进程在第一个和第三个cpu上运行,第二个和第四个cpu上运行,两个进程分别在这两个组合上轮询!
worker_processes最多开启8个,8个以上性能提升不会再提升了,而且稳定性变得更低,所以8个进程够用了。
[root@cjq11 ~]# vim /usr/local/nginx/conf/nginx.conf
worker_rlimit_nofile 102400; 在11行添加标红内容
当一个nginx进程打开的最多文件数目,理论值应该是最多打开文件数(ulimit -n)与nginx进程数相除,但是nginx分配请求并不是那么均匀,所以最好与ulimit -n的值保持一致。
ulimit -n设定系统最多打开的文件数
[root@cjq11 ~]# ulimit -n 102400
[root@cjq11 ~]# ulimit -n
102400
修改linux的软硬件限制文件/etc/security/limits.conf
[root@cjq11 ~]# vim /etc/security/limits.conf
在文件尾部添加如下代码:
* soft nofile 102400
* hard nofile 102400
[root@cjq11 ~]# reboot
[root@cjq11 ~]# ulimit -n
102400