千家信息网

Nginx工作模式及代理配置的示例分析

发表于:2026-11-02 作者:千家信息网编辑
千家信息网最后更新 2026年11月02日,小编给大家分享一下Nginx工作模式及代理配置的示例分析,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!一、Nginx 的工
千家信息网最后更新 2026年11月02日Nginx工作模式及代理配置的示例分析

小编给大家分享一下Nginx工作模式及代理配置的示例分析,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!

一、Nginx 的工作模式

1.单进程模式

单进程模式下,Nginx 启动后只有一个进程,Nginx 的所有工作都由这个进程负责。

优点:

单进程模式由于只有一个进程,因此可以很方便的利用 gdb 等工具进行调试。

缺点:

单进程模式不支持 Nginx 的平滑升级功能,任何的信号处理都可能造成服务中断;并且由于是单进程,进程挂掉后,在没有外部监控的情况下,无法重启服务。

不过后面 Nginx 已经将 Master-Worker 配置成默认的工作模式,所以并不需要担心上面的问题。

[root@localhost ~]# ps aux | grep nginx | grep -v greproot       38395  0.0  0.0 264704  7192 ?        Ss   Dec15   0:00 nginx: master process /usr/local/nginx/sbin/nginxroot     3421689  0.0  0.0 294040 32680 ?        S    Dec24   0:00 nginx: worker process

2.Master-Worker 模式

Nginx 启动后,会有一个 Master 进程和至少一个的 Worker 进程;Master 进程主要负责处理系统信号,加载配置,管理 Worker 进程等操作;而 Worker 进程则是负责处理具体的业务逻辑,也就是说,对外部来说,真正提供服务的是 Worker 进程。

优点: 稳定性高,只要还有 Worker 进程存活,就能够提供服务,并且一个 Worker 进程挂掉后,Master 进程会立即启动一个新的 Worker 进程,来保证 Worker 进程数量不变,降低服务中断的概率;同时 可以配合 Nginx 的 CPU 亲和,来充分利用多核 CPU 的优势,提升性能。

3.问题处理

前两天博主在启动 Nginx 的时候,是没有问题的,但是在访问时就不行,当时通过查看端口号,发现端口是存在的,后面使用 ps 看进程,发现只有一个 master 进程(master 进程不会对外提供服务),最后通过查看 error.log 日志发现:

是因为使用的第三方模有问题,导致 Worker 进程并未启动。

处理方案的话有两种: 第一个就是将第三方模块在配置中进行移除,第二个就是对第三方模块进行修复。

二、Nginx 代理配置

这里博主 主要介绍:Nginx 配置文件中 / 的作用,别看这个一个小小的符号,他的作用可以说 关乎到系统是否可以正常提供服务。

Nginx 配置文件中 / 的作用,主要体现在 proxy_pass 的配置上。

准备工作:

[root@PengYuYan ~]# yum -y install nginx[root@PengYuYan ~]# cat < /etc/nginx/conf.d/Server_80.confserver {    listen 80;    server_name 127.0.0.1;    root /usr/share/nginx/html;    index index.html;    location /ZhangSan/ {        proxy_pass http://127.0.0.1:8080;    }    location /PengYuYan/ {        proxy_pass http://127.0.0.1:8080/;    }}END[root@PengYuYan ~]# mkdir /usr/share/nginx/html/ZhangSan[root@PengYuYan ~]# echo "This is 127.0.0.1:80 ZhangSan" > /usr/share/nginx/html/ZhangSan/index.html[root@PengYuYan ~]# mkdir /usr/share/nginx/html/PengYuYan[root@PengYuYan ~]# echo "This is 127.0.0.1:80 PengYuYan" > /usr/share/nginx/html/PengYuYan/index.html
[root@PengYuYan ~]# cat < /etc/nginx/conf.d/Server_8080.confserver {    listen 8080;    server_name 127.0.0.1;    root /www/html;    index index.html;    location / {    }    location /ZhangSan/ {    }    location /PengYuYan/ {    }}END[root@PengYuYan ~]# mkdir -p /www/html[root@PengYuYan ~]# echo "This is 127.0.0.1:8080 /" > /www/html/index.html[root@PengYuYan ~]# mkdir /www/html/ZhangSan[root@PengYuYan ~]# echo "This is 127.0.0.1:8080 ZhangSan" > /www/html/ZhangSan/index.html[root@PengYuYan ~]# mkdir /www/html/PengYuYan[root@PengYuYan ~]# echo "This is 127.0.0.1:8080 PengYuYan" > /www/html/PengYuYan/index.html

下面的那些 location,你们是不需要重新配置的,因为上面的配置和下面对应。

1.带 /

location /PengYuYan/ {    proxy_pass http://127.0.0.1/8080/;}

验证:curl 127.0.0.1/PengYuYan/

这里博主来分解一下:

我们 curl 127.0.0.1/PengYuYan/ 中的 PengYuYan 其实就是我们 80 端口的 location 配置,并不是 8080 端口上的配置;

而我们正好又在 proxy_pass 代理的后面增加了个 /,就导致我们实际上访问的是 curl 127.0.0.1:8080/;

也就是说,我们要是如上配置,想要访问到 8080 端口的 PengYuYan,则需要 curl 127.0.0.1/PengYuYan/PengYuYan/。

2.不带 /

location /PengYuYan/ {    proxy_pass http://127.0.0.1/8080/;}

验证:

这个其实很好理解,因为我们没有在 proxy_pass 后面增加 /,所以 Nginx 会自动将 location 的目录放到 proxy_pass 后面。

总结:

当我们的 proxy_pass 代理后面有 / 时,它并不会将 location 配置的目录加进去;

而当我们的代理后面没有加 / 时,Nginx 便会将 location 的目录放到 proxy_pass 后面。

1) 在带有目录的情况下加 /(修改原来的 Server_80.conf 文件即可)

location /PengYuYan/ {    proxy_pass http://127.0.0.1/8080/;}

验证:

2) 在带有目录的情况下不加 /

location /ZhangSan/ {    proxy_pass http://127.0.0.1/8080/ZhangSan;}

验证:curl 127.0.0.1/ZhangSan/,在我们的配置上,实际上是访问的 curl 127.0.0.1:8080/ZhangSan/ZhangSan/

其实啊,不管是有目录和没目录,都和博主上面总结的一样。主要还是 Nginx 中的 / 在作怪。

以上是"Nginx工作模式及代理配置的示例分析"这篇文章的所有内容,感谢各位的阅读!相信大家都有了一定的了解,希望分享的内容对大家有所帮助,如果还想学习更多知识,欢迎关注行业资讯频道!

进程 配置 模式 目录 服务 代理 工作 处理 端口 问题 验证 作用 只有 就是 情况 文件 第三方 篇文章 面的 示例 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 耶加雪菲 上海挚品互联网科技有限公司 广东万易互联网科技有限公司惠州分公司 互联网科技公司简介 工业互联网科技新基建 广州互联网科技公司 北京互联网科技公司 世界互联网领先科技成果 深圳天众互联网科技公司 广州紫鲸互联网科技 汉立互联网科技有限公司联系电话 团飞科技与伯堂互联网服务平台 互联网公司科技股 崇明区互联网教育科技售后服务 互联网科技研发水平 民营互联网公司国防科技 深圳市罗太互联网科技有限公司 保险科技服务互联网营销体系 厦门江牛科技互联网 互联网科技平台产品运营 广东万易互联网科技有限公司惠州分公司 科技创新与互联网经济 关于新基建和互联网科技 上游互联网科技 美国互联网前沿科技 互联网科技生活的内容 华脉科技工业互联网产品 互联网界的黑科技 好易买互联网科技 山东亿川互联网科技有限责任公司
0