将Nginx注册为windows系统服务可随机启动

因为公司要求用Nginx,还是安装在Windows系统下面的(之前都是在Linux系统下布置的),然后就开始操作了,当时就是下载了一个Windows版的Nginx,解压后运行Nginx.exe文件后,输入localhost:8088,就可以访问到Nginx默认的主页了,然后查阅官方文档才知道当前windows版本的Nginx只是作为一个标准程序运行,而不是一个系统服务, 如果不注册成系统服务,服务器重启(断电、自动更新 etc.)就需要自己手动重启,不然网站、系统均无法访问。想想挺可怕,然后就开始各种谷歌百度找办法解决,过了不知道多久搜索发现可以通过winsw把Nginx注册成一个系统服务。

1. 在项目主页内找到winsw的下载页面(我用的是最新2.0.2版本,你可以下载最新的)

http://repo.jenkins-ci.org/releases/com/sun/winsw/winsw/2.0.2/

下载的文件:winsw-2.0.2-bin.exe

2. 在nginx项目页面下载nginx windows版本

http://nginx.org

把nginx压缩包解压放到指定目录,例如我放的是d盘根目录。特别强调路径不要带空格的,否则会启动失败。

nginx安装目录是:D:\nginx-1.15.9\nginx-1.15.9

3. 将winsw-2.0.2-bin.exe复制到nginx目录:D:\nginx-1.15.9\nginx-1.15.9,并将其改成nginx-service.exe 

4. 新建一个xml文件nginx-service.xml,名称一定要与上面的.exe上的文件名一致的哦。文件内容如下:

<service>
  <id>nginx</id>
  <name>nginx</name>
  <description>nginx</description>
  <env name="path" value="D:\nginx-1.15.9\nginx-1.15.9"/>
  <executable>D:/nginx-1.15.9/nginx-1.15.9/nginx.exe</executable>
  <arguments>-p D:/nginx-1.15.9/nginx-1.15.9</arguments>
  <logpath>D:/nginx-1.15.9/nginx-1.15.9/logs/</logpath>
  <logmode>roll</logmode>
</service>

总体如图:

5. 运行Windows cmd命令,进入nginx目录:运行nginx-service.exe install将其注册为windws系统服务。当配置错误(就是系统服务中有了但是启动不了)或者是要卸载它的时候运行:nginx-service.exe uninstall

在运行Windows cmd命令,输入services.msc,就可以在系统服务中看到nginx服务,右击启动就可以了,访问http://localhost:8088出现nginx页面,安装成功。 因为我这台电脑80端口被占用了,然后就使用了8088端口

6. 如果出现错误信息,可在nginx的日志文件logs查看。刚开始在测试时一直启动服务失败,原因是按照网络上的(旧版)配置文件启动不成功,希望可以少让大家走一些弯路,当时我心里的那个苦啊,没有找到正确的话,捣鼓的让你欲哭无泪。旧版的配置文件如下(注意与4中对比):

<!--service>

 <id>nginx</id>

  <name>nginx</name>

  <description>nginx</description>

  <executable>D://nginx-1.11.11/nginx.exe</executable>

  <logpath>D://nginx-1.11.11/logs</logpath>

  <logmode>roll</logmode>

  <depend></depend>

  <startargument>-p D://nginx-1.11.11</startargument>

  <stopargument>-p D://nginx-1.11.11 -s stop</stopargument>

</service-->

对上方的代码有一种深深的恶意。。。。。

nginx 常用命令:

验证配置是否正确: nginx -t

查看Nginx的版本号:nginx -V

启动Nginx:start nginx

快速停止或关闭Nginx:nginx -s stop

正常停止或关闭Nginx:nginx -s quit

配置文件修改重装载命令:nginx -s reload

发布了15 篇原创文章 · 获赞 30 · 访问量 10万+

猜你喜欢

转载自blog.csdn.net/qq_39848608/article/details/88105992