windows 安装Nginx并创建为Windows服务
复制:https://blog.csdn.net/qq_36949713/article/details/83108149
安装Nginx
下载windows版nginx (http://nginx.org/download/nginx-1.10.0.zip),之后解压到需要放置的位置(D:\xampp\nginx)
将Nginx设置为Windows服务
需要借助"Windows Service Wrapper"小工具,项目地址: https://github.com/kohsuke/winsw
下载地址: http://repo.jenkins-ci.org/releases/com/sun/winsw/winsw/1.18/winsw-1.18-bin.exe
下载该工具后,将其放在 Nginx安装目录下,并重命名为nginx-service.exe,创建配置文件nginx-service.xml(名字要和工具名一样),
创建nginx-service.exe.config(为支持NET 4.0 runtime,默认只支持NET 2.0 runtime)
文件结构如下:
nginx-service.xml 内容如下:
<service> <id>nginx</id> <name>Nginx Service</name> <description>High Performance Nginx Service</description> <logpath>D:\xampp\nginx\logs</logpath> <log mode="roll-by-size"> <sizeThreshold>10240</sizeThreshold> <keepFiles>8</keepFiles> </log> <executable>D:\xampp\nginx\nginx.exe</executable> <startarguments>-p D:\xampp\nginx</startarguments> <stopexecutable>D:\xampp\nginx\nginx.exe</stopexecutable> <stoparguments>-p D:\xampp\nginx -s stop</stoparguments> </service>
nginx-service.exe.config 内容如下:
<configuration> <startup> <supportedRuntime version="v2.0.50727" /> <supportedRuntime version="v4.0" /> </startup> <runtime> <generatePublisherEvidence enabled="false"/> </runtime> </configuration>
在cmd中运行如下命令安装windows服务
D:\xampp\nginx\nginx-service.exe install
之后就可以在Windows服务面板中启动服务了
浏览器中就可以正常访问了
端口占用则会报错:
nginx: [emerg] bind() to 0.0.0.0:80 failed (10013: An attempt was made to access a socket in a way forbidden by its access permissions)
解决方法:
1、修改 nginx.conf 的端口
2、netstat -aon | findstr :80 查到使用此端口进程 并查找 tasklist|findstr "1884" 他的进程名字
修改该程序的端口
注意:配置路径不对就会有问题
https://repo.jenkins-ci.org/artifactory/releases/com/sun/winsw/winsw/1.19.1/winsw-1.19.1-bin.exe
http://nginx.org/download/nginx-1.19.1.zip