windows 安装Nginx并配置开机启动
一、下载windows版的Nginx安装包,进入类似下图页面,选择合适版本下载。
1.1、下载解压,如下图
在C:\Program Files路径下创建Nginx文件夹,把解压后的内容复制到 C:\Program Files\Nginx文件下
1.2、启动nginx
启动nginx有两种方式:
- 双击启动
- cmd 命令启动
1.2.1、双击启动 (不推荐)
直接双击 nginx.exe
,双击后一个黑色的弹窗一闪而过 。 这样就是启动成功了。
1.2.2、cmd命令启动(推荐)
用 管理员权限 打开cmd,切换到nginx解压目录下,输入命令 start nginx.exe
或者 nginx.exe
,回车后会出现一个黑色的弹窗一闪而过。
C:\Program Files\Nginx>start nginx.exe
1.3、验证
二 、配置开机启动
上面的配置nginx后,在电脑关机后再重启时,nginx 就会停止。
如果想要每次windows 开机后,nginx都处于运行状态,请看下面的操作配置。
2.1、下载Windows Service Wrapper工具
下载地址:http://repo.jenkins-ci.org/releases/com/sun/winsw/winsw/
选择合适版本下载(我选择1.18),该工具可设置nginx为windows服务。Github源码地址,下载页面如下图;
2.2、配置步骤
1)下载后把下载的 winsw-1.14-bin.exe 文件放在Nginx安装目录(C:\Program Files\Nginx),修改名称为nginx-service.exe。
2)在nginx-service.exe 同目录中,新建一个空折 nginx-service.xml 文件(名字要与nginx-service.exe
名字前缀保持一致,但后缀是xml)
nginx-service.xml内容如下:
<service> <id>nginx</id> <name>Nginx Service</name> <description>High Performance Nginx Service</description> <logpath>C:\Program Files\Nginx\logs</logpath> <log mode="roll-by-size"> <sizeThreshold>10240</sizeThreshold> <keepFiles>8</keepFiles> </log> <executable>C:\Program Files\Nginx\nginx.exe</executable> <startarguments>-p C:\Program Files\Nginx</startarguments> <stopexecutable>C:\Program Files\Nginx\nginx.exe</stopexecutable> <stoparguments>-p C:\Program Files\Nginx -s stop</stoparguments> </service>
我的nginx 所在的目录是 C:\Program Files\Nginx ,如果你的安装目录与我的不相同,要修改 <logpath>
、 <executable>
、 <startarguments>、<stopexecutable>
<stoparguments> 这4处对应的值。
2.3.安装nginx服务
点击"开始"--"运行",输入"cmd"后点击确定按钮,进入DOS窗口,接下来分别运行以下命令:
cd C:\Program Files\Nginx
nginx-service.exe install
点击"开始"--"运行",输入"services.msc"后点击确定按钮,打开服务窗口。
此时查看windows服务目录有Niginx Service服务,然后右键启动。
三、nginx常用的基本命令
start nginx.exe ## 启动服务 nginx.exe -s stop ## 快速停止服务 nginx.exe -s quit ## 优雅的 停止服务 nginx.exe -s reload ## 重新加载 配置文件,这命令可以不用停止nginx nginx.exe -s reopen ## 重新打开日志文件
四、常见问题处理以及注意事项
Niginx Service服务无法启动
原因是默认80端口被占用,在C:\Program Files\Nginx\conf目录下修改nginx.conf配置文件,修改为其他端口号;
如下图
windows检查80端口是否被占用:
点击"开始"--"运行",输入"cmd"后点击确定按钮,进入DOS窗口,接下来分别运行以下命令:
netstat -aon | findstr "80"
若是出现如下,可以看出80端口被进程号为1688的程序占用。
若遇到其他问题可在C:\Program Files\Nginx\logs下查看错误日志,然后根据错误日志查找解决方案。Proto Local Address Foreign Address State PID ==== ============ ============== ========== ====== TCP 0.0.0.0:80 0.0.0.0:0 LISTENING 1688
注意:每次修改完nginx.conf文件,需重新启动Niginx Service服务,方可生效。
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】凌霞软件回馈社区,博客园 & 1Panel & Halo 联合会员上线
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】博客园社区专享云产品让利特惠,阿里云新客6.5折上折
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 浏览器原生「磁吸」效果!Anchor Positioning 锚点定位神器解析
· 没有源码,如何修改代码逻辑?
· 一个奇形怪状的面试题:Bean中的CHM要不要加volatile?
· [.NET]调用本地 Deepseek 模型
· 一个费力不讨好的项目,让我损失了近一半的绩效!
· 在鹅厂做java开发是什么体验
· 百万级群聊的设计实践
· WPF到Web的无缝过渡:英雄联盟客户端的OpenSilver迁移实战
· 永远不要相信用户的输入:从 SQL 注入攻防看输入验证的重要性
· 浏览器原生「磁吸」效果!Anchor Positioning 锚点定位神器解析