今天遇到一个nginx崩溃的问题!

环境

windows 2003 内存16G CPU4核
Nginx 16.0 (worker_processes=16)
Laravel 7.30

测试

简单的考试系统,大于有6个人在同时考试,考试了几轮下来就服务器就崩了,这里的崩溃说的是服务器停了,以后所有的请求都502了,后来换成了apache就没有崩了

疑问

  1. windows下php-fpm是不是只能运行一个进程?
  2. apache在windows下比nginx有什么优势?
  3. nginx怎么防止崩溃?或者崩溃后自动重启?

根据大佬们的回复,我基本搞清楚状了

windows下php没有像php-fpm的cgi管理器,所有cgi在处理500次请求后就自动关闭了,所以导致502,目前已经替换成apache服务器,标题说的nginx崩溃是错误的,应该是php-cgi关闭了,所以当时我还纳闷网页加载出来了,接口却502

让PHP再次伟大
《L03 构架 API 服务器》
你将学到如 RESTFul 设计风格、PostMan 的使用、OAuth 流程,JWT 概念及使用 和 API 开发相关的进阶知识。
《G01 Go 实战入门》
从零开始带你一步步开发一个 Go 博客项目,让你在最短的时间内学会使用 Go 进行编码。项目结构很大程度上参考了 Laravel。
最佳答案

www.cnblogs.com/CryOnMyShoulder/p/...

file

不知道是不是这样,但是我 windows 上自己手动部署的 wnmp 确实是存在用一段时间就502需要手动重启服务,那些集成环境 WAMP、XAMPP 等等,估计是实现了自动重启。

2年前 评论
勇敢的心 (楼主) 2年前
忆往昔弹指间 2年前
勇敢的心 (楼主) 2年前
忆往昔弹指间 2年前
勇敢的心 (楼主) 2年前
忆往昔弹指间 2年前
讨论数量: 26

php 和 nginx 在win 还是 Linux 关系不大吧,怎么确定是 Nginx 崩溃了呢

2年前 评论
thebestxt

“崩了”具体表现是什么?有没有错误日志或报错截图。信息量太少了,完全没有下手的目标啊。

2年前 评论
勇敢的心 (楼主) 2年前
随波逐流 2年前
勇敢的心 (楼主) 2年前

502 不是php-fpm的问题?

2年前 评论
勇敢的心 (楼主) 2年前

Win 下没有 PHP-FPM,只有实现了 FASTCGI 协议的 PHP-CGI 程序,用 Nginx 得手动管理添加 CGI 进程。。。
Win 下用 IIS 才是正解

Laravel

2年前 评论
勇敢的心 (楼主) 2年前
如梦又似幻 2年前

本地win开发经常用phpstudy集成环境,也是nginx的,曾经遇到过,一个本地域名项目,php_curl请求另外一个本地域名项目,是行不通的,后来去查资料得知,同个端口,是共享一个fastcgi程序的,所以一个进程挂起等待后,其他进程也要排队等待,这样就会出现本地项目调用本地项目,只有一个进程,在互相等待的情况。

就我从业多年经验,以及看其他使用win做服务器的同行现状看,大家在win下部署PHP,基本都会选择IIS,建议楼主在win还是选择IIS,少折腾。

因为在nginx的大多调优手段,在win下都是失效的,并发效果都会大打折扣,如果楼主发现有很好的部署方案,也可以贴出来观摩学习下。

2年前 评论
勇敢的心 (楼主) 2年前
忆往昔弹指间 (作者) 2年前

www.cnblogs.com/CryOnMyShoulder/p/...

file

不知道是不是这样,但是我 windows 上自己手动部署的 wnmp 确实是存在用一段时间就502需要手动重启服务,那些集成环境 WAMP、XAMPP 等等,估计是实现了自动重启。

2年前 评论
勇敢的心 (楼主) 2年前
忆往昔弹指间 2年前
勇敢的心 (楼主) 2年前
忆往昔弹指间 2年前
勇敢的心 (楼主) 2年前
忆往昔弹指间 2年前

windows 用 IIS 才是正确选择!

2年前 评论

www.jianshu.com/p/da152c6fdfa6 去了解下 Nginx 和 PHP 的通讯原理就大概会有个明白了

Windows 下 PHPStudy 环境使用的就是单个 php-cgi ,应该连 fast-cgi 都没有

file

我本地 PHPStudy 的环境反正是一个并发都走不了

2年前 评论
勇敢的心 (楼主) 2年前

win还是apache合适些

2年前 评论

谁说没有的,这不就是 file

2年前 评论
如梦又似幻 2年前

讨论应以学习和精进为目的。请勿发布不友善或者负能量的内容,与人为善,比聪明更重要!