ICode9

精准搜索请尝试: 精确搜索
首页 > 系统相关> 文章详细

Windows 下将 Nginx 设置成服务

2022-08-31 12:34:45  阅读:287  来源: 互联网

标签:exe 服务 service nginx Windows Environment Nginx 设置


0、需求背景

每次启动 Nginx 都要去到 Nginx 安装目录下寻找 redis-server.exe 文件点击,很是麻烦。并且要命令行启动,一般解决方案可能是批处理文件,但是仍要点击。假如确定服务要经常开启的情况下可以设置为服务。

于是思考到可不可以跟其它服务一样能够开机自启?显然是可以的。

把 Nginx 设置为一个 windows 服务便可以解决此问题。

下文环境为Windows11。

1、Nginx 设置为服务

主要分为两大步骤,其一准备好设置为服务的文件,其二安装为服务。
设置为服务后参考目录如下:

其一,文件准备

  • 准备nginx-service.exe

    nginx 安装下载默认已知。接下来首先选择合适版本下载Windows Service Wrapper工具,该工具可设置nginx为windows服务。

    下载后把下载的winsw-x.x.x-bin.exe 文件放在Nginx安装目录(D:\Environment\nginx-1.22.0),修改名称为nginx-service.exe,然后分别创建nginx-service.exe.config,nginx-service.xml文件,把这两个文件也放在Nginx安装目录下。

  • 准备nginx-service.exe.config文件
    nginx-service.exe.config内容如下:

    <configuration>
      <startup>
        <supportedRuntime version="v2.0.50727" />
        <supportedRuntime version="v4.0" />
      </startup>
      <runtime>
        <generatePublisherEvidence enabled="false"/> 
      </runtime>
    </configuration>
    
  • 准备nginx-service.xml文件
    nginx-service.xml内容如下(根据实际情况对路径进行调整):

    <service>
      <id>nginx</id>
      <name>Nginx Service</name>
      <description>High Performance Nginx Service</description>
      <logpath>D:\Environment\nginx-1.22.0\logs</logpath>
      <log mode="roll-by-size">
        <sizeThreshold>10240</sizeThreshold>
        <keepFiles>8</keepFiles>
      </log>
      <executable>D:\Environment\nginx-1.22.0\nginx.exe</executable>
      <startarguments>-p D:\Environment\nginx-1.22.0</startarguments>
      <stopexecutable>D:\Environment\nginx-1.22.0\nginx.exe</stopexecutable>
      <stoparguments>-p D:\Environment\nginx-1.22.0 -s stop</stoparguments>
    </service>
    

其二,安装 Nginx 服务

进入cmd命令行到nginx目录下输入下行命令安装服务

nginx-service.exe install

新电脑可能会遇到此问题,下载并安装即可。未出现忽略即可。

预计5-10分钟左右。


下载完成后再次进行安装出现如下。

然后去服务查看。默认是停止状态。

可点击启动,或者右击打开服务。

然后进入下面界面可以直击启动,也可右击点击属性进一步设置。

如根据需要设置为自动启动。

3、扩展

  • 删除nginx服务

    sc delete 服务名
    
  • 可能遇到的其他问题
    Niginx Service服务无法启动 如错误1067 进程意外终止
    可能是端口监听代理出现冲突

  • Nginx-xxx\logs下查看错误日志,然后根据错误日志查找解决方案。
    注意:每次修改完nginx.conf文件,需重新启动Niginx Service服务,方可生效。

  • 启动 nginx 脚本

    @echo off
    
    ::set location="D:\Environment\nginx-1.22.0" 
    
    cd /d %~dp0
    start nginx 
    
  • 关闭 nginx 脚本

    @echo off
    
    ::set location="D:\Environment\nginx-1.22.0" 
    
    cd /d %~dp0
    nginx.exe -s stop
    

标签:exe,服务,service,nginx,Windows,Environment,Nginx,设置
来源: https://www.cnblogs.com/Code-Rain/p/16642572.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有