将Nginx设置为Windows服务

 

需要借助"Windows Service Wrapper"小工具,项目地址: https://github.com/kohsuke/winsw

下载地址: http://repo.jenkins-ci.org/releases/com/sun/winsw/winsw/1.18/winsw-1.18-bin.exe

下载该工具后,将其放在 Nginx安装目录下,并重命名为nginx-service.exe,创建配置文件nginx-service.xml(名字要和工具名一样),

创建nginx-service.exe.config(为支持NET 4.0 runtime,默认只支持NET 2.0 runtime)

文件结构如下:

将Nginx设置为Windows服务

nginx-service.xml 内容如下:

将Nginx设置为Windows服务
<service>   
    <id>nginx</id>   
    <name>Nginx Service</name>   
    <description>High Performance Nginx Service</description>   
    <logpath>D:\xampp\nginx\logs</logpath>   
    <log mode="roll-by-size">     
        <sizeThreshold>10240</sizeThreshold>     
        <keepFiles>8</keepFiles>   
    </log>   
    <executable>D:\xampp\nginx\nginx.exe</executable>   
    <startarguments>-p D:\xampp\nginx</startarguments>   
    <stopexecutable>D:\xampp\nginx\nginx.exe</stopexecutable>   
    <stoparguments>-p D:\xampp\nginx -s stop</stoparguments> 
</service>
将Nginx设置为Windows服务

 

nginx-service.exe.config 内容如下:

1
2
3
4
5
6
7
8
9
<configuration>  
    <startup>    
        <supportedRuntime version="v2.0.50727" />    
        <supportedRuntime version="v4.0" />  
    </startup>  
    <runtime>    
        <generatePublisherEvidence enabled="false"/>   
    </runtime>
</configuration>

 

在cmd中运行如下命令安装windows服务

D:\xampp\nginx\nginx-service.exe install

之后就可以在Windows服务面板中启动服务了

将Nginx设置为Windows服务

浏览器中就可以正常访问了

将Nginx设置为Windows服务

 

 

 

 

 

2:

 

 

 

Windows下Nginx的安装及开机启动

1、将nginx-1.16.1.zip解压拷贝至D:\web\nginx目录下。

2、启动Nginx,两种方法:

(1)直接双击nginx.exe,双击后一个黑色的弹窗一闪而过。

(2)打开cmd命令窗口,切换到nginx目录下,输入命令 nginx.exe 或者 start nginx ,回车即可。

3、检查nginx是否启动成功。

直接在浏览器地址栏输入网址 http://localhost:80,回车,出现以下页面说明启动成功。

也可以在cmd命令窗口输入命令 tasklist /fi "imagename eq nginx.exe" ,出现如下结果说明启动成功。

将Nginx设置为Windows服务

将Nginx设置为Windows服务

4、nginx的配置文件是conf目录下的nginx.conf,默认配置的nginx监听的端口为80,如果80端口被占用可以修改为未被占用的端口即可。

将Nginx设置为Windows服务

检查80端口是否被占用的命令是: netstat -ano | findstr 0.0.0.0:80 或 netstat -ano | findstr "80"

当我们修改了nginx的配置文件nginx.conf 时,不需要关闭nginx后重新启动nginx,只需要执行命令 nginx -s reload 即可让改动生效

5、关闭nginx

如果使用cmd命令窗口启动nginx,关闭cmd窗口是不能结束nginx进程的,可使用两种方法关闭nginx

(1)输入nginx命令  nginx -s stop(快速停止nginx)  或  nginx -s quit(完整有序的停止nginx)。

 

将Nginx设置为Windows服务

(2)使用taskkill   taskkill /f /t /im nginx.exe。

6、设置Nginx开机自动启动

我们可以借助Windows Service Wrapper小工具【需要.net 4.0环境】,将Nginx转换为Windows服务,这样就可以在开机时自动启动Nginx了。

下载后将该工具放入Nginx的安装目录下,并且将其重命名为 nginx-service.exe ,在该目录下新建 nginx-service.xml 文件,写入配置信息,配置好了之后就可以通过这个将Nginx注册为Windows服务。
将Nginx设置为Windows服务

 
  1. <!-- nginx-service.xml -->
  2. <service>
  3.     <id>nginx</id>
  4.     <name>nginx</name>
  5.     <description>nginx</description>
  6.     <logpath>D:web\nginx\</logpath>
  7.     <logmode>roll</logmode>
  8.     <depend></depend>
  9.     <executable>D:web\nginx\nginx.exe</executable>
  10.     <stopexecutable>D:web\nginx\nginx.exe -s stop</stopexecutable>
  11. </service>

以上内容配置好了之后,在nginx安装目录下以管理员运行命令:.\nginx-service.exe install 就成功将其注册为Windows服务了,然后运行 .\nginx-service.exe start 启动服务。这时我们可以在Windows任务管理器的服务中查看该是否成功启动。

将Nginx设置为Windows服务

注:

  • nginx-service.exe install 命令可注册对应的系统服务
  • nginx-service.exe uninstall 命令可删除对应的系统服务
  • nginx-service.exe stop 命令可停止对应的系统服务
  • nginx-service.exe start 命令可启动对应的系统服务

将Nginx设置为Windows服务

上一篇:用javascript如何在框架间传值


下一篇:ILSpy Debugger Preview 绝佳的.NET程序源码级动态调试