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 块
posted @   勤匠  阅读(8)  评论(0编辑  收藏  举报
编辑推荐:
· AI与.NET技术实操系列:基于图像分类模型对图像进行分类
· go语言实现终端里的倒计时
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
阅读排行:
· 分享一个免费、快速、无限量使用的满血 DeepSeek R1 模型,支持深度思考和联网搜索!
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· ollama系列01:轻松3步本地部署deepseek,普通电脑可用
· 25岁的心里话
· 按钮权限的设计及实现
点击右上角即可分享
微信分享提示