码迷,mamicode.com
首页 > Windows程序 > 详细

让Nginx作为Windows服务开机自启动

时间:2015-08-05 10:53:32      阅读:178      评论:0      收藏:0      [点我收藏+]

标签:

# 启动:
F:\nginx-0.9.4> nginx.exe
 
# 查看状态:
F:\nginx-0.9.4> tasklist /fi "imagename eq nginx.exe"
 
# 立即停止:
F:\nginx-0.9.4> nginx.exe -s stop
 
# 结束所有会话后再停止(平滑退出):
F:\nginx-0.9.4> nginx.exe -s quit
 
# 重新加载配置文件
# (当修改配置文件后,他会先启动一个新的worker,在把原来的worker停止,也即对用户透明)
F:\nginx-0.9.4> nginx.exe -s reload
 
# 重新打开日志文件
F:\nginx-0.9.4> nginx.exe -s reopen
 
 
只可惜,nginx.exe自己不管注册windows 服务器,需要自己手动命令行下启动/停止。
用Google百度了下,发现一个不错的文章——《Nginx Windows Service》,同时在文章里也发现了
一个不错的程序:"Windows Service Wrapper" —— 用来将你的程序封装成Windows的服务。
你可以在这里下载。 http://www.7scs.com/down/57652.html
 
使用方法:
1. 下载最新版的 Windows Service Wrapper 程序,比如我下载的名称是 "winsw-1.9-bin.exe",
    然后,把它命名成你想要的名字(比如: "myapp.exe",当然,你也可以不改名)
2. 将重命名后的 myapp.exe 复制到 nginx 的安装目录(我这里是 "F:\nginx-0.9.4")
3. 在同一个目录下创建一个Windows Service Wrapper的XML配置文件,名称必须与第一步重命名时使用的名称一致(比如我这里是 "myapp.xml",  如果,你没有重命名,则应该是 "winsw-1.9-bin.xml")
   文件内容如下:
 
<?xml version="1.0" encoding="UTF-8" ?>
<service>
  <id>nginx</id>
  <name>nginx</name>
  <description>nginx</description>
  <executable>F:\nginx-0.9.4\nginx.exe</executable>
  <logpath>F:\nginx-0.9.4\</logpath>
  <logmode>roll</logmode>
  <depend></depend>
  <startargument>-p F:\nginx-0.9.4</startargument>
  <stopargument>-p F:\nginx-0.9.4 -s stop</stopargument>
</service>
4. 命令行下执行以下命令,以便将其安装成Windows服务。
F:\nginx-0.9.4> myapp.exe install
 
OK,至此,完工,确认一下:我的电脑 右键 -> 管理 -> 服务 -> 是否有了个 nginx 呢?启动起来,在浏览器中 访问 http://localhost 确认一下,再 停止服务,再访问一下  http://localhost 确认一下。
 
补充:
Windows Servcie Wrapper的命令格式如下:
 
# 安装服务
CMD:\> myapp.exe install
 
# 卸载服务
CMD:\> myapp.exe uninstall
 
# 启动服务
CMD:\> myapp.exe start
 
# 停止服务
CMD:\> myapp.exe stop

让Nginx作为Windows服务开机自启动

标签:

原文地址:http://my.oschina.net/gabriel1215/blog/487854

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!