windows安装nginx并设置开机自启动

2023-05-16

在macOS和linux中使用nginx我早已经轻车熟路。突然切到windows的环境中,我反而不会用了。

之前写了《windows使用nginx探索笔记》内容比较冗长,所以本文尽量精简一下。

环境

操作系统:windows 2008R2 Datacenter
已经安装的软件:

  • SQL Server 2014
  • JDK 1.8

nginx

下载

推荐官网下载
https://nginx.org/en/download.html
本文中我下载的版本
https://nginx.org/download/nginx-1.20.2.zip

解压

上面下载的文件,我解压来以下路径。

C:\manuli\nginx-1.20.2

这个路径随意即可。

启动nginx服务

不要直接双击运行,根据官方文档中介绍介绍的方法。https://nginx.org/en/docs/windows.html

nginx默认端口80,所以请使用管理员身份打开PowerShell并执行以下命令

cd C:\manuli\nginx-1.20.2
start nginx

幸运的话,这样已经启动成功了。访问http://localhost/就会看到如下的界面:
在这里插入图片描述
如果你并没有这么幸运,在文章末尾有故障排除方法。

小知识点:
在Linux上,以一般用户身份执行一个需要占用小于1024端口的程序,会得到错误提示:Permission denied这是因为在Linux平台,小于1024的端口被认为是特殊端口。
我想在windows下也有类似的设定。所以如果是默认80端口,则需要使用管理员身份执行。

基本使用

nginx/Windows 作为标准控制台应用程序(不是服务)运行,可以使用以下命令对其进行管理:

  • 快速停止服务
nginx -s stop	
  • 优雅停止服务
nginx -s quit 
  • 更改配置,使用新配置启动新工作进程,优雅关闭旧工作进程
nginx -s reload
  • 重新打开日志文件
nginx -s reopen

设置开机自动启动

设置开机启动,在维护中还是非常有必要的。这样当服务器意外重新启动也不会造成影响了。

下载WinSW.NET4 v2.11.0

不适配的版本

这里使用winsw来配置服务。关于winsw的版本,我测试了以下版本是失败的。

  • WinSW v3.0.0-alpha.10 -X64
    运行没有任务反应,没有创建服务成功。
  • WinSW v2.11.0 -X64
    运行报错:
Failed to load the dll from [C:\Users\itkey\AppData\Local\Temp\.net\WinSW-x64\jqstklar.4hl\coreclr.dll], HRESULT: 0x8007
0057

适配的版本

就在我要放弃使用winsw时,我发现我这台机器上安装有.NET Framework 4
在这里插入图片描述
我不清楚是系统自带,还是因为安装了sql server自动安装了。

我操作的服务器是windows 2008 R2,实际可成功使用winsw版本WinSW v2.11.0 NET4
在这里插入图片描述
https://github.com/winsw/winsw/releases/tag/v2.11.0

配置自动启动服务

  1. 把WinSW.NET4.exe复制到C:\manuli\nginx-1.20.2目录并重命为nginx-server.exe
  2. C:\manuli\nginx-1.20.2目录新增nginx-server.xml,只要与上面的exe名称一样就行了。
    内容如下:
<service>  
  <!-- ID of the service. It should be unique across the Windows system-->
  <id>nginx</id>
  <!-- Display name of the service -->
  <name>nginx</name>
  <!-- Service description -->
  <description>nginx 反向代理</description>  
  <!-- Path to the executable, which should be started -->
  <executable>C:\manuli\nginx-1.20.2\nginx.exe</executable>
</service>
  1. 管理员权限打开PowerShell,并执行以下命令
cd C:\manuli\nginx-1.20.2
nginx-server.exe install

在这里插入图片描述
这样服务就创建成功了。

  1. win+r运行输入Services.msc,回车打开服务管理器
    在这里插入图片描述
    现在就可以在服务里找到我的刚才创建的服务了。
    在这里插入图片描述
    在这里插入图片描述
  • 点击启动按钮,可以立马启动nginx
  • 点击停止按钮,就可以立马停止nginx
  • 启动类型默认是自动,就说明是开机启动的。如果以后不想开机启动就设置成手动

设置完成以后,重新启动电脑测试一下。发布nginx已经可以开机自动启动啦!任务完成!


故障

目前我遇到过的故障基本是因为以下两个原因导致:

  1. nginx使用了特殊端口比如1024以内的端口,需要管理员权限执行。
  2. nginx的所用的端口已经被占用

故障排查技巧

查进程

tasklist /fi "imagename eq nginx.exe"

如果能查到进程,基本上是成功了。
查报错日志
日志保存路径。
nginx-1.20.2\logs\error.log

windows2008中80端口被System占用的问题

查了一下进程占用,占用的进程名是System,PID为4

直接说结论:

  1. IIS占用了80端口

  2. SQL Server Reporting Services服务也会占用80端口
    把以上两个服务禁用即可。
    解决办法:

  3. World Wide Web Publishing Service服务设置成禁用
    在这里插入图片描述

  4. SQL Server Reporting Services服务设置成手动
    在这里插入图片描述
    详细探索过程见:
    《windows使用nginx探索笔记》
    https://blog.csdn.net/lxyoucan/article/details/126898516

参考

  • 《windows使用nginx探索笔记》
    https://blog.csdn.net/lxyoucan/article/details/126898516
  • 《nginx for Windows》
    https://nginx.org/en/docs/windows.html
  • 《Linux上1024以下的端口》
    https://blog.csdn.net/m0_48283915/article/details/109046019
  • 《windows下快速安装nginx 并配置 开机自启动》
    https://cloud.tencent.com/developer/article/1888447
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

windows安装nginx并设置开机自启动 的相关文章

  • archlinux i3wm通知管理

    通知管理 Dunst 是大多数桌面环境提供的通知守护程序的轻量级替代品 它非常可定制 xff0c 不依赖于任何工具包 xff0c 因此适合那些我们都喜欢定制到完美的以窗口管理器为中心的设置 官网如下 xff1a https dunst pr
  • i3wm 获取window class

    在i3wm中如果你想让一个程序固定在某个workspace中打开可以如下设置 span class token comment 打开virtual box直接进入第10个桌面 span assign span class token pun
  • xrandr修改分辨率与刷新率

    查询当前显示器信息 直接运行xrandr即可 我的执行结果如下 xff0c 信息过多 xff0c 我则把关键部分放出来 xff1a itkey 64 vivobook screenlayout xrandr span class token
  • 设计模式之【适配器模式】,两个人之间确实需要月老的搭线~

    文章目录 一 什么是适配器模式1 适配器模式使用场景2 代理 桥接 装饰器 适配器 4 种设计模式的区别3 适配器模式结构 二 类适配器1 实例 三 对象适配器1 实例 四 接口适配器1 实例 五 源码中的应用 一 什么是适配器模式 适配器
  • linux黑客帝国cmatrix

    装X神器 xff0c 黑客帝国 xff01 xff01 xff01 安装方法 我这里以archlinux为例 span class token function sudo span pacman S cmatrix 效果演示
  • mysql字段userid逗号分开保存按userid查询

    我的sql水平一般 xff0c 仅是一个笔记 无法保存是最优解 仅供参考 场景 有一张消息表 xff0c 其中有一个收信人字段中把多个用户以 分隔保存信息 我需要根据userid来查询信息 为了方便理解 xff0c 我减化一下表结构 我的表
  • windows11 + linux 蓝牙连接问题

    我主要使用Linux办公 xff0c 因为一些特殊情况需要到windows系统下测试 这时就会发现蓝牙键盘就需要重新连接 xff0c 只要切一次系统就要重新连接一次非常的麻烦 今天要多次往返这两个系统 xff0c 所以我决定解决一下这个问题
  • archlinux音量管理

    我用的i3wm 平时音量调整 xff0c 我是直接使用键盘自带的多媒体键实现的 xff0c 所以一直也懒得折腾 多媒体键盘调整音量的缺点就是无法细力度调整 xff0c 导致使用耳机听歌时 xff0c 要么声音听不到 xff0c 要么就是听不
  • git 命令行版本初始化

    假设你已经在网页上创建了一个如下的版本库 http git ycmit cn r manuli api git 然后我们需要把本地已经有的文件上传到版本库 xff0c 执行以下命令即可 span class token function g
  • mysql转SQL Server

    使用工具 Navicat 点击 工具 61 数据传输 即可完成
  • jdbc SQLServer Error: “The server selected protocol version TLS10

    最近在尝试在SQL Server 环境下开发新项目 xff0c 遇到了一些坑 xff0c 记录一下 报错信息 com span class token punctuation span microsoft span class token
  • windows11右键菜单变回windows10风格

    windows11的右键菜单会折叠一部分 xff0c 虽然美观了不少 但是总感觉效率反而更低了 xff0c 能不能设置回windows10风格的呢 xff1f 操作 Windows 43 R xff0c 输入 regedit 并按 Ente
  • C# winform使用SQLite

    本文仅是一个笔记 xff0c 仅供参考 SQLite SQLite是遵守ACID的关系数据库管理系统 xff0c 它包含在一个相对小的C程序库中 与许多其它数据库管理系统不同 xff0c SQLite不是一个客户端 服务器结构的数据库引擎
  • C# SQLite Database Locked exception

    现象 在查询时没有问题 xff0c 但是在Insert时会报数据库被锁定 原因分析 可能是代码某个地方连接着数据库 xff0c 忘记关闭了 解决办法 原理我还没有完全搞懂 xff0c 不过根据下面的写法确实解决了问题 在某个地方 xff0c
  • 设计模式之【桥接模式】,多用组合少用继承

    文章目录 一 什么是桥接模式1 使用场景2 代理 桥接 装饰器 适配器 4 种设计模式的区别3 桥接模式的优缺点4 桥接模式的四种角色 二 实例桥接模式优化代码 三 源码中使用的桥接模式1 桥接模式在JDBC中的应用 一 什么是桥接模式 桥
  • C# 无操作则退出登陆

    span class token keyword using span span class token namespace System span span class token punctuation span span class
  • C#调用explorer.exe打开指定目录

    需求 C 程序上有一个按钮 xff0c 点击打开电脑上对应的目录即可 代码 span class token comment 打开帮助文档 span System span class token punctuation span Diag
  • windows中ncdu替代者TreeSize

    平时开发大部分时间使用linux或者macOS系统 xff0c 近期因为要开发C 程序不得不使用windows系统 在linux或者macOS常用的ncdu来查看文件目录体积大小 到windows中无法使用 xff0c 很不习惯 就想找一个
  • Visual Studio中vim模拟器

    简介 Vim 仿真 这是 Visual Studio 2015 及更高版本的 Vim 仿真层 它将 Vim 熟悉的键绑定体验直接集成到 Visual Studio 的编辑器中 细节 GitHub 上提供了该项目和问题跟踪的完整源代码 htt
  • mybatis小示例

    一般使用mybatis的环境 xff0c 大多都是别人已经配置好的 直接用就好了 xff0c 如何自己搭建呢 xff1f 其实很简单 看官方的文档就可以解决了 主要为了学习mybatis最基础的配置 我文章中的方法不基于spring 一般很

随机推荐

  • spring boot集成mybatis报错 java.lang.IllegalStateException: No supported DataSource type found

    背景 我参考MyBatis Spring的文档搭建环境 https mybatis org spring zh getting started html 完全按文档上操作 xff0c 还是报以下错误 报错信息 Error starting
  • Spring boot mybatis 简单示例

    我在Spring boot中集成mybatis竟然花了不少时间 xff0c 真没想到 对着官网的文档做 xff0c 竟然还花了这么多时间 所以我把过程尽可能的详细记录下来 xff0c 给有需要的朋友 需求 在spring boot 中使用m
  • spring boot + mybatis+ mysql环境搭建

    最近在尝试从0开始搭建框架 xff0c 结果在mybatis这块就踩了很多坑 于是就决定写篇文章记录一下 要求 尽可能的简单 xff0c 减少依赖 实战 新建spring boot项目 基于spring boot 的 xff0c 所以第一步
  • javascript字符串转对象

    永远不要使用 eval xff01 eval 是一个危险的函数 xff0c 它使用与调用者相同的权限执行代码 如果你用 eval 运行的字符串代码被恶意方 xff08 不怀好意的人 xff09 修改 xff0c 您最终可能会在您的网页 扩展
  • fastjson 属性排序

    fastjson把bean转成json字符串 xff0c 默认的顺序并不是按你实体类属性写的顺序来的 虽然属性顺序一般不会影响功能 xff0c 但是强迫症忍不了 因为java中通过反射机制是无法取到属性的顺序的 xff08 我猜测 xff0
  • 设计模式之【装饰者模式】,实现“穿衣打扮”自由原来这么简单

    文章目录 一 什么是装饰者模式1 装饰者模式原理2 装饰者模式四大角色3 代理 桥接 装饰器 适配器 4 种设计模式的区别4 装饰者模式的应用场景5 装饰者模式和代理模式的对比6 装饰者模式优缺点7 抽象装饰器 xff08 Decorato
  • mysql root允许远程连接

    在开发测试环境 xff0c 有时为了方便我们需要让root用户也可以远程连接 下面就讲一下如何设置 简明教程 连接mysql 不废话3行命令搞定 xff0c 不明白的看下面分步讲解 mysql span class token operat
  • windows http-server 因为在此系统上禁止运行脚本

    我想在windows中运行 http server 安装方法 xff1a span class token function npm span span class token function install span http serv
  • windows开启远程桌面

    现在的远程桌面工具很丰富 xff0c 向日葵 xff0c ToDesk TeamViewer 都是很简单易用的 但是在没有外网的场景下这些软件就不太好用了 今天来简单讲一下如果开启windows自带的远程桌面功能 环境 我这里以window
  • windows局域网传文件5种常用方法

    谈到文件分享 xff0c 在可以连接外网的情况下 xff0c 方法数不胜数 比如 xff1a QQ xff0c 微信 xff0c 邮件等等 那么如果无有外网 xff0c 在局域网下如何传输 远程桌面 在不安装第三方软件的情况下 xff0c
  • windows 11文件夹共享踩坑记录

    在windows 2008R2做文件共享一次就成功了 xff0c 没有什么特别之处 但是我在windows11中做文件共享 xff0c 请求的时候 总是提示 xff1a 登录失败 未知的用户名或错误密码 解决思路 在网上找答案 xff0c
  • SQL Server 2014安装笔记

    最近要部署一个项目 xff0c 需要用到SQL Server 2014 我把安装过程简单记录一下 xff0c 给有需要的朋友吧 下载安装包 在国内微软的官网下载速度还是比较慢的 xff0c 我是从 https msdn itellyou c
  • archlinux安装nodejs版本管理器nvm

    AUR安装 yay S nvm 安装完成以后并不是立马可以使用 xff0c 具体看下面 官方说明如下 xff1a You need to span class token builtin class name source span nvm
  • windows2008 JDK8安装内部错误61003

    在windows 2008 R2服务器上安装JDK8 Update341时 xff0c 出错报错内部错误61003情况 现象 原因分析 没有装visual c 43 43 2015 redistributable 解决办法 安装 visua
  • SQL Server Management Studio 访问远程数据库

    刚拿到这个软件时 xff0c 只会连接本地的数据库 服务器名称下拉框中的数据不知道怎么维护 后来才发现这个远程可能当作输入框使用 输入连接字符串就可以连接了 连接字符串 比如java中的jdbc连接字符串是 xff1a jdbc sqlse
  • SqlServer 导出导入表结构与数据

    在运维和数据备份的时候 xff0c 偶尔会需要导出表结构与数据 那么具体如何操作呢 xff1f 事先说明一下 xff0c 本文写的比较仓促 xff0c 质量一般 xff0c 仅供参考 环境 这里以Microsoft SQL Server M
  • 设计模式之【组合模式】,树形结构的完美解决方案

    文章目录 一 什么是组合模式1 组合模式三大角色2 组合模式应用场景3 组合模式注意事项和细节 二 透明组合模式1 学院院系案例2 透明组合模式总结 三 安全组合模式1 linux目录系统案例2 安全组合模式总结 四 源码中使用的组合模式1
  • Sql Server 脚本创建新的数据库

    基中dbname替换成你的数据库实例名称 D tools SqlServer MSSQL DATA 替换成文件保存的实际路径 span class token comment 创建数据库 span span class token keyw
  • windows使用nginx探索笔记

    在macOS和linux中使用nginx我早已经轻车熟路 突然切到windows的环境中 xff0c 我反而不会用了 于是我就记一下笔记吧 本篇写的比较冗长 xff0c 精简版本见 windows使用nginx https blog csd
  • windows安装nginx并设置开机自启动

    在macOS和linux中使用nginx我早已经轻车熟路 突然切到windows的环境中 xff0c 我反而不会用了 之前写了 windows使用nginx探索笔记 内容比较冗长 xff0c 所以本文尽量精简一下 环境 操作系统 xff1a