nginx for windows中的一项缺陷
按照官网上的说法,使用 start nginx 启动 nginx,使用 nginx -s quit 可以优雅地退出。
经实验,使用 start nginx 之后,会启动两个 nginx 的进程,据官网上说,一个是控制进程,一个是工作进程(One of the processes is the master process and another is the worker process.)。
当我们启动进程之后,现在 nginx 可以开始工作了,但当我们再次使用 start nginx 之后,会发现又启动了两个进程。
现在我们使用 nginx -s quit 命令,会发现还剩下两个进程,再使用 nginx -s quit,会报错啊。。。,但其实现在还有两个 nginx.exe 进程。使用 nginx -s reload 呢,也会报错。
存在这种现象导致的问题就是,如果我不小心使用了两次 start nginx,那实际在监听 80 端口(或者是其它端口)的是第一次启动的,所以当我修改了配置文件,然后 nginx -s reload,会发现对配置文件的修改并没有起作用。然后使用 nginx -s quit 来优雅地退出,会发现 nginx 竟然还能用。
解决方法是使用 taskkill命令强制终止进程。
为什么会出现这种问题呢,观察+猜测一下吧:
当使用 start nginx 命令之后,会产生 ./logs/nginx.pid 这个文件,文件中记录了 nginx.exe 的pid,当重复使用 start nginx 时,nginx.pid 中的内容会被后来者替换,这样 nginx.exe 就不知道之前启动的那些自己的进程的 pid 是什么了。之前启动的那些 nginx.exe 的进程已经被 nginx.exe 抛弃了(还被系统领养着,#_#)。
nginx for windows中的一项缺陷的更多相关文章
- nginx for windows 中虚拟主机路径设置问题
由于Windows版本的Nginx其实是在Cygwin环境下编译的,所以Nginx使用的是Cygwin的路径格式,所以在Nginx的配置文件nginx.conf中,路径既不能使用*nix的格式,也不能 ...
- 【记录】解决windows中nginx明明退出了,为什么还能反向代理?CMD强制杀死进程命令
博主今天遇到一个很奇怪的问题,nginx在windows中明明已经退出了,而且在任务管理器中也没发现nginx进程, 为什么还能反向代理呢? 找了半天资料终于解决,现记录如下,希望能帮助到你. 步骤一 ...
- nginx在windows系统中如何启动、重启、停止
nginx在windows系统中如何启动.重启.停止 查看nginx的版本号:nginx -v 启动nginx:start nginx 快速停止或关闭nginx:nginx -s stop 正常停 ...
- Windows中Nginx配置nginx.conf不生效解决方法(路径映射)
Windows中Nginx配置nginx.conf不生效解决方法 今天在做Nginx项目的时候,要处理一个路径映射问题, location /evaluate/ { proxy_pass http:/ ...
- Nginx——在Windows环境下安装
下载 Nginx是开源软件,用户可以访问 http://nginx.org/ 网站获取源码包或Windows二进制文件下载.其中1.13.x版本为开发版本,1.12.0版本为稳定版本.开发版本分支会较 ...
- Nginx——在Windows环境下安装(一)
下载 Nginx是开源软件,用户可以访问 http://nginx.org/ 网站获取源码包或Windows二进制文件下载.其中1.13.x版本为开发版本,1.12.0版本为稳定版本.开发版本分支会较 ...
- Nginx在Windows平台的配置
Nginx在Windows平台的配置 能够使用Nginx搭建Tomcat集群,并完成负载均衡. 1.什么是Nginx 2.为什么使用Nginx 背景: 互联网飞速发展的今天,大用户量高并发已经成为互联 ...
- nginx的简单使用和使用nginx在windows上搭建tomcat集群
nginx是一款轻量级的web服务器,常用的作用为服务器/反向代理服务器以及电子邮件(IMAP/POP3)代理服务器 1.为什么我们要使用Nginx? 反向代理: 反向代理(Reverse Proxy ...
- Windows中遇到的些问题及解决办法
1.win7 无法将程序锁定到任务栏 由于不正确的使用去掉桌面快捷键小箭头等,导致无法将程序固定到任务栏 如:http://jingyan.baidu.com/article/ac6a9a5e41bd ...
随机推荐
- img图片之间的间距问题
[问题]页面中如果有多张图片,那么图片之间会有一些间距,在某些情况下(如切好的图片再次拼接),在显示上就会出现一些问题.效果如下: 对应代码: <div class="f0" ...
- [LeetCode] Maximal Rectangle(good)
Given a 2D binary matrix filled with 0's and 1's, find the largest rectangle containing all ones and ...
- ArcGIS API for Silverlight 地图元素点闪烁,线流动显示的处理方式
原文:ArcGIS API for Silverlight 地图元素点闪烁,线流动显示的处理方式 <Grid x:Name="LayoutRoot" Background=& ...
- JavaScript实现进入某一页面时自动将鼠标光标放在某一textbox上
<script language="javascript" type="text/javascript"> var txtText0 = " ...
- 好网站:字体转换器在线转换 http://www.diyiziti.com/
偶然间发现这个网站,它可以将文字设置字体并做成图片,也有很多好的字体下载如瘦金体. 下载下来的ttf文件在win7里可以右键点击install,在vista和xp里可以直接拷贝到window\font ...
- ionic安装时遇到的minimatch错误
安装提示 npm WARN deprecated minimatch@2.0.10: Please update to minimatch 3.0.2 or higher to avoid a Reg ...
- MongoDB安装、管理工具、操作
1. mongoDB安装.启动.关闭 1.1 下载安装包 wget http://fastdl.mongodb.org/linux/mongodb-linux-x86_64-3.0.3.tgz 1.2 ...
- Java- 基本封装
package test.studet_manager; public class Student { static int num = 100; // 编号-->唯一的 private int ...
- Xcode 6.x 添加Empty Application模板
Xcode 6.x 添加Empty Application模板 在Apple最新的XCode6.x中没有了Empty Application模板,这对一个老人来说是不能别接受的,同时也可以看出Appl ...
- 根据执行计划优化sql语句
优化前:表连接使用merge SQL> alter session set statistics_level=all; Session altered. SQL> select e.sal ...