目录
nginx配置文件
nginx配置文件组成
主配置文件 nginx.conf
子配置文件 需要先主配置文件里配置,才可以使用
主配置
#事件驱动相关的配置 同步
event {
...
}
#http/https 协议相关配置段
http {
...
}
#默认配置文件不包括下面两个块
#mail 协议相关配置段
mail {
...
}
#stream 服务器相关配置段
stream {负载均衡
...
}
全局配置
nginx模块
nginx有许多模块
例如
关闭版本或修改版本
http{
server_tokens off;
}
此配置可以写在http配置,server配置,location配置 on为打开,off为关闭
修改版本号
修改版本号,要去修改源码,再重新编译安装 ,要先关闭服务,不然可能不成功
需要去你的安装包内,我的在 /mnt/nginx-1.18.0/src/core/ 下 修改nginx.h 如下图 修改13 14行
重新编译 nginx -V 可以查看你已经编译好的模块,复制过去
./configure --prefix=/apps/nginx --user=nginx --group=nginx --with-http_ssl_module --with-http_v2_module --with-http_realip_module --with-http_stub_status_module --with-http_gzip_static_module --with-pcre --with-stream --with-stream_ssl_module --with-stream_realip_module
在 make && make install
记得将 配置文件内的 server_token off 改成 on 或者 删掉 ,不然仍然显示 nginx
重新加载配置文件 nginx -s reload
查看
修改启动的进程数
worker_processes 1;
允许的启动工作进程数数量,和你真实的cpu数量有关
worker_processes auto;
如果设置为auto,就是你真实的cpu数量
cpu和work进程绑定
将Nginx工作进程绑定到指定的CPU核心,默认Nginx是不进行进程绑定的,绑定并不是意味着当前nginx进程一核心CPU,但是可以保证此进程不会运行在其他核心上,这就极大减少了nginx的工作进程在不同的cpu核心上的来回跳转,减少了CPU对进程的资源分配与回收以及内存管理等,因此可以有效的提升nginx服务器的性能
CPU序列号
CPU MASK: 00000001 0号CPU
00000010 1号CPU
00000100 2号CPU
....
10000000 7号CPU
worker_cpu_affinity 00000001 00000010 00000100 00001000; 第0号---第3号CPU 将第一个进程绑定到0号cpu上,将第2给进程绑定到第二个cpu上
序号绑定cpu 亲缘性
worker_cpu_affinity 00000101 00001010; 将第一个进程绑到1号cpu和3号cpu 把第二个进程绑定到第2和第四个cpu上
同一个work 可以绑定 两个cpu可以这么写 但是不建议,本来就是 不希望飘动,这样也是飘动
worker_cpu_affinity
pid路径
定义你pid文件所存放的路径
nginx进程的优先级(work进程的优先级)
worker_priority 数字 ;
nice的优先级是 -20 到 19 数字越小,优先级越高
调整work进程打开的文件个数
所有worker进程能打开的文件数量上限,包括:Nginx的所有连接(例如与代理服务器的连接等),而不仅仅是与客户端的连接,另一个考虑因素是实际的并发连接数不能超过系统级别的最大打开文件数的限制.最好与ulimit -n 或者limits.conf的值保持一致, 只要机器性能够多加几个也没问题
worker_rlimit_nofile 65535;
服务是否已后台方式运行
一般服务都是后台运行,前台容器中会用到
daemon off ; 将服务调整到前台运行, (所谓前台运行,就是会影响当前操作)
只有 master进程没有 work进程
用的很少,不演示
master_process off|on;
是否开启Nginx的master-worker工作模式,仅用于开发调试场景,默认为on