zoukankan      html  css  js  c++  java
  • Windows 下 Nginx 开机自启动

    引子

    最近经常用到 Nginx ,每次开机要手动启动一下,想设置为开机自动执行 start nginx ,找了下资料尝试后总结一下。

    • 系统:Windows 10 家庭中文版

    • 版本号:20H2

    • 操作系统版本:19042.685

    • nginx:版本 1.18.0 ,只配置了端口和 root 字段。

    • Origin

    • My GitHub

    解决方式

    Windows 可以通过手动修改注册表设置启动项,感觉有些麻烦,还是找个工具。找到工具 WinSW ,它可以将任何应用包裹并作为一个 Windows 服务管理。在这里可以下载编译好的可执行文件。本次使用的版本是 WinSW v3.0.0-alpha.7 。

    WinSW 作为一个全局工具使用:

    1. 下载 WinSW.exeWinSW.zip
    2. 新建 myapp.xml (更详细说明见文档示例)。
    3. 运行 winsw install myapp.xml [options] 安装服务。
    4. 运行 winsw start myapp.xml 开启服务。
    5. 运行 winsw status myapp.xml 检查服务是否启动和运行。

    在实际操作过程中发现了其它注意点:

    • 输入命令时参数 myapp.xml 并不是必需,想要省略,让配置文件名称跟 WinSW.exe 文件的名称一致即可,否则不带配置文件名称参数会报错。
    • WinSW.exe 文件需要放置在 nginx 安装目录下,否则执行指令的时候会提示找不到 nginx 的配置文件。
    • 出错误的时候,会输出日志,看日志有助于排查问题。

    下面是个人配置步骤示例。

    第 1 步

    将下载的 exe 文件移动到 nginx 目录下,重命名为 winsw.exe ,新建配置文件 winsw.xml ,写入下面的配置:

    <service>
      <id>nginx service</id>
      <name>Nginx</name>
      <description>This service runs Nginx.</description>
      <env name="NGINX_COMIC" value="%BASE%" />
      <prestart>start D:
    ginx-1.18.0
    ginx.exe</prestart>
      <executable>D:
    ginx-1.18.0
    ginx.exe</executable>
      <prestop>D:
    ginx-1.18.0
    ginx.exe -s stop</prestop>
      <log mode="roll" />
      <onfailure action="none" />
    </service>
    

    83-step1

    第 2 步

    在当前路径下打开命令窗口(当前文件路径上输入 cmd 回车即可),执行命令:

    winsw install
    

    83-cmd

    成功会出现下面的提示:

    83-install

    查看是否成功添加了服务,“此电脑”右键 -> “管理” -> “服务和应用程序” -> “服务”:

    83-check

    第 3 步

    检测启动服务是否正常:

    winsw start
    

    启动成功也会出现提示。访问 nginx 配置的地址,确认是否有效。确认后,重启电脑,看下是否会自启动。

    参考资料

  • 相关阅读:
    常用的知识点
    2021年度“新时代好少年”
    音频格式TDM
    DTS
    学习总结之EXTJS相关了解和问题解决篇
    java中extends和implements的区别
    开发
    程序员练级(转自酷壳)
    优秀程序员无它善假于物也
    EXTJS开发过程遇到的一些问题的小结(转自麦田守望者)
  • 原文地址:https://www.cnblogs.com/thyshare/p/14228101.html
Copyright © 2011-2022 走看看