Windows 下将 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安装目录下。注意安装目录不要带有空格,比如放在Program Files,可能会报错

  • 准备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 服务

(1、安装服务)

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

nginx-service.exe install

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

预计5-10分钟左右。

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

(2、设置开机自启)

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

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

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

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

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
  • 1
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
Windows系统下使用Nginx配置HTTPS服务器,需要完成以下步骤: 1. 下载Nginx:首先,你需要下载并安装最新版的Nginx。你可以从Nginx官方网站(https://nginx.org/)下载Windows版本的安装包,选择适合你系统的稳定版本。 2. 生成SSL证书:为了启用HTTPS,你需要生成SSL证书。可以使用免费的证书颁发机构(如Let's Encrypt)或自己创建自签名证书。这里以使用自签名证书为例。 a. 安装OpenSSL:从OpenSSL官方网站(https://www.openssl.org/)下载Windows版本的安装包,安装到你的系统中。 b. 生成私钥:打开命令提示符,进入到OpenSSL安装目录的bin目录下,执行以下命令生成私钥: ``` openssl genrsa -out private.key 2048 ``` c. 生成证书请求:继续在命令提示符中执行以下命令生成证书请求: ``` openssl req -new -key private.key -out certificate.csr ``` d. 签发证书:使用以下命令自签名证书: ``` openssl x509 -req -days 365 -in certificate.csr -signkey private.key -out certificate.crt ``` 3. 配置Nginx:找到Nginx的安装目录,在conf文件夹下找到nginx.conf文件,并打开进行编辑。 a. 配置HTTP服务器:在http块中配置HTTP服务器,监听80端口。示例配置如下: ``` server { listen 80; server_name yourdomain.com; # 修改为你的域名 location / { root html; index index.html index.htm; } } ``` b. 配置HTTPS服务器:在http块中配置HTTPS服务器,监听443端口,并指定SSL证书和私钥的路径。示例配置如下: ``` server { listen 443 ssl; server_name yourdomain.com; # 修改为你的域名 ssl_certificate path/to/your/certificate.crt; # 修改为证书的路径 ssl_certificate_key path/to/your/private.key; # 修改为私钥的路径 location / { root html; index index.html index.htm; } } ``` 4. 启动Nginx:保存修改后的nginx.conf文件,并在命令提示符中进入Nginx的安装目录,执行以下命令启动Nginx: ``` nginx.exe ``` 5. 测试访问:打开浏览器,访问https://yourdomain.com(将yourdomain.com替换为你的域名),如果一切配置正确,你应该能够成功访问到HTTPS服务器。 这样,你就成功地在Windows系统下使用Nginx配置了HTTPS服务器。注意,在生产环境中,建议使用有效的SSL证书来确保数据的安全性。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

CodeRain程序雨

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值