安装
打开nginx
官网,在Stable version(稳定版)分类下方点击nginx/Windows-1.xx
进行下载。
解压到安装路径(注意路径不要存在中文),这里我选择解压到D
盘根目录,如下图:
进入nginx
的安装路径nginx-1.24.0
,下文将使用%nginx%
表示nginx
安装路径。在此目录下打开命令行工具,运行start .\nginx.exe
启动nginx
,随着黑色运行窗口一闪而过,表示nginx
成功。注意,如果电脑弹出针对nginx
的权限询问窗口,请选择允许。
此时我们打开浏览,输入127.0.0.1
或localhost
,可以看到nginx
运行成功界面,如下图:
其实默认打开的是位于
%nginx%/html/index.html
页面,具体可参考下一节配置
说明
配置
%nginx%/conf/nginx.conf
即nginx
的配置文件,打开配置文件,找到http->server
模块,可以看到对于80端口的监听配置如下图:
这里针对几个重要的部分进行讲解。
server
模块下的listent 80;
表示监听80端口,也就是上述的http:://127.0.0.1
(80
端口是http
的默认监听端口,没明确写明即表示访问的是80端口);locathin / {...}
表示匹配该端口下的所有访问路径;location
下的root
和index
分别表示对应的文件夹根目录和默认文件索引。
所以当我们在浏览器输入127.0.0.1
时,会命中监听80
端口的server
模块,并定位到html
下的index.html
文件,最终展示在浏览器中。
注意事项
- 编辑配置文件前,最好做好备份工作。修改完配置文件后,请在命令行中运行
nginx -t
命令验证配置的正确性;- 请不要使用windows自带的记事本程序编辑配置文件,否则保存时可能由于保存的编码格式不正确,导致
nginx
无法运行。记事本使用UTF-8-BOM
编码保存,而配置文件需要用UTF-8
编码保存。推荐使用vscode
进行编辑
以下是一些常用命令
# 启动nginx服务
start nginx
# 强制关闭nginx服务
nginx -s stop
# 优雅地关闭nginx服务
nginx -s quit
# 修改配置后重新加载生效
nginx -s reload
# 测试nginx配置文件是否正确
nginx -t -c
# 检查nginx是否正在运行
tasklist /fi "imagename eq nginx.exe"
nginx -s stop
和nginx -s quit
的区别在于nginx -s stop
是强制关闭,nginx -s quit
会处理完当前正在运行的工作后关闭。可以类比为我们从电脑中弹出U盘,一个是直接拔U盘,一个是先在任务栏弹出U盘后再进行拔出。
部分命令运行情况见下图:
开机自启动
一般web服务器
都需要设置开机自启动。否则当服务器由于各种主观或者客观的原因重启后,还需要手动开启,增加了不必要的工作量且降低了web服务器
的稳定性。
这里我们是用Windows Service Wrapper
处理,思路是将nginx
包装成Windows
系统下的服务,并将服务设置为自动启动即可。
-
从
github
下载winsw
程序,我们下载最新稳定版的WinSw v2.12.0
版本,并根据电脑支持的.net
版本选择,此处下载WinSW.NET4.exe
(.NET runtime),见下图:
-
将下载的
WinSW.NET4.exe
拷贝到nginx
安装路径,并重命名为nginx-service.exe
. -
同级路径下新建
nginx-service.xml
文件,文件内容如下<service> <id>nginx</id> <name>nginx</name> <description>nginx servcie</description> <logpath>D:\nginx-1.24.0\</logpath> <logmode>roll</logmode> <depend></depend> <executable>D:\nginx-1.24.0\nginx.exe</executable> <stopexecutable>D:\nginx-1.24.0\nginx.exe -s stop</stopexecutable> <restartexecutable>D:\nginx-1.24.0\nginx.exe -s reload</restartexecutable> </service>
注意:请自行修改
nginx
路径 -
【可选】新建
nginx-service.exe.config
文件,内容如下:<configuration> <startup> <supportedRuntime version="v2.0.50727" /> <supportedRuntime version="v4.0" /> </startup> <runtime> <generatePublisherEvidence enabled="false"/> </runtime> </configuration>
-
安装并启动服务
# 安装服务时必须先关闭nginx nginx -s quit # 安装服务 nginx-service.exe install # 运行服务 nginx-service.exe start
其他命令
# 停止服务 nginx-service.exe stop # 重启服务 nginx-service.exe restart # 卸载 nginx-service.exe uninstall
-
将服务设置为自启动
打开
windows
服务管理页面(win+r,并输入services.msc
),找到nginx
服务,并设置为启动类型为自动
即可,见下图:
以上就是本篇文章的全部内容。