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
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· AI与.NET技术实操系列:基于图像分类模型对图像进行分类
· go语言实现终端里的倒计时
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 分享一个免费、快速、无限量使用的满血 DeepSeek R1 模型,支持深度思考和联网搜索!
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· ollama系列01:轻松3步本地部署deepseek,普通电脑可用
· 25岁的心里话
· 按钮权限的设计及实现