nginx.conf 全局块_指令
nginx.conf 全局块_指令
记述全局块指令的意义和使用方法
概览
- user 指令
- worker_processes 指令
- error_log 指令
- worker_rlimit_nofile 指令
用户和用户组
user:有权运行nginx服务的Linux用户和用户组,默认不配置。
配置格式
# 配置admin组的ng-admin用户
user ng-admin admin;
进程
worker_processes:配置nginx服务使用的worker进程的数量,默认值auto,通常等于CPU核心数,确保每个CPU核心都被充分利用,从而最大化Nginx的并发处理能力,也推荐用auto值,nginx自动判断使用多少进程
配置格式
# 16核至强处理CPU配置
worker_processes 16;
清楚进程与线程之间的差别
进程是跑在每个CPU内核的东西,线程是进程的组成单位。进程好比一条高速公路,这条高速路有8个车道,每个车道就相当于一个线程。
nginx进程类型有2种:master和worker
master:管理者进程;一个nginx服务有且仅有一个此进程,负责管理,监控所有的worker进程,当worker进程异常终止后,master进程会自动重新启动新的worker进程
worker:工作者进程,处理网络请求,nginx根据worker_processes配置的数量生成对应数量的进程。
日志
error_log:配置nginx服务的日志(nginx支持以下日志级别,按严重程度递增:debug、info、notice、warn、error、crit 和 alert),在同一个块中只能配置一个error_log指令,比如全局块中仅能配置一个
配置格式
# error_log指令第1参数:log路径,第2参数:日志级别
error_log /var/log/nginx/error.log error;
关闭日志
彻底关闭error_log,可将日志文件路径设为/dev/null,例如error_log /dev/null;
进程文件
pid:配置nginx进程文件位置,文件记录的是Nginx的master进程的进程号。
配置格式
pid /var/run/nginx.pid;
查看nginx进程
sudo ps -aux | grep nginx不出意外,如下打印
[root@localhost sbin]# ps -aux | grep nginx root 1671 0.0 0.0 24948 1592 ? Ss 21:05 0:00 nginx: master process /usr/local/nginx/sbin/nginx nobody 9361 0.0 0.0 25312 1492 ? S 21:33 0:00 nginx: worker process nobody 9362 0.0 0.0 25312 1492 ? S 21:33 0:00 nginx: worker process nobody 9363 0.0 0.0 25312 1492 ? S 21:33 0:00 nginx: worker process nobody 9364 0.0 0.0 25312 1492 ? S 21:33 0:00 nginx: worker process root 9402 0.0 0.0 112812 976 pts/0 R+ 21:33 0:00 grep --color=auto nginx使用
kill -9 masterID,建议最好不要如此做!
工作进程的资源限制
worker_rlimit_nofile:设置每个工作进程(worker_proccess)可以打开的最大文件描述符数。在Nginx中,因为它处理大量的并发连接和文件操作。
文件描述符:用于表示一个被进程所使用,并指向打开文件、套接字、管道或者设备等资源的一个整数
配置格式
worker_rlimit_nofile ;
nginx.conf 全局块下的配置块
- event 块
- http 块
本文来自博客园,作者:勤匠,转载请注明原文链接:https://www.cnblogs.com/JarryShu/articles/18258523

浙公网安备 33010602011771号