1.下载nginx
http://nginx.org/en/download.html 下载稳定版本
以nginx/Windows-1.18.0为例
下载后解压,解压后如下
2.启动nginx
有很多种方法启动nginx
(1)直接双击nginx.exe,双击后一个黑色的弹窗一闪而过
(注意如果点击多次,会启动很多个,导致使用nginx -s stop无法关闭完全)
(2)打开cmd命令窗口,切换到nginx解压目录下,
输入命令 nginx.exe 或者 start nginx ,回车即可
3.检查nginx是否启动成功
直接在浏览器地址栏输入网址 http://localhost:80,回车,出现以下页面说明启动成功
nginx的配置文件是conf目录下的nginx.conf,默认配置的nginx监听的端口为80,如果80端口被占用可以修改为未被占用的端口即可
检查80端口是否被占用的命令是: netstat -ano | findstr 0.0.0.0:80 或 netstat -ano | findstr “80”
当我们修改了nginx的配置文件nginx.conf 时,
不需要关闭nginx后重新启动nginx,只需要执行命令 nginx -s reload 即可让改动生效
4.项目运行测试案例
我这边是在html中放入了一个项目(路径之前是在nginx.conf文件中配置了的),nignx启动以后,在浏览器地址栏中输入(http://localhost/haochi)即可,打开项目工程页面
配置信息如下
server {
listen 80;
server_name localhost;
#charset koi8-r;
#access_log logs/host.access.log main;
#location / {
# root html;
# index index.html index.htm;
#}
#location / {
# root D:/nginx-1.20.2/html/haochi1;
# index index.html index.htm;
#}
## 测试案例前端包
location /haochi/ {
alias D:/nginx-1.20.2/html/haochi/ ;
try_files $uri $uri/ /index.html last;
#autoindex on;
add_header Access-Control-Allow-Origin *;
add_header Access-Control-Allow-Headers "Origin, X-Requested-With, Content-Type, Accept";
add_header Access-Control-Allow-Methods "GET, POST, OPTIONS";
}
}
5.关闭nginx
如果使用cmd命令窗口启动nginx,关闭cmd窗口是不能结束nginx进程的,可使用两种方法关闭nginx
(1)输入nginx命令 nginx -s stop(快速停止nginx) 或 nginx -s quit(完整有序的停止nginx)
(2)使用taskkill taskkill /f /t /im nginx.exe
6.nginx命令介绍
nginx命令介绍
(1)start nginx 开启nginx服务
(2)nginx.exe -s stop 关闭nginx服务,快速停止nginx,可能并不保存相关信息
(3)nginx.exe -s quit 关闭nginx服务,完整有序的停止nginx,并保存相关信息
(4) nginx.exe -s reload 重载nginx服务,当你改变了nginx配置信息并需要重新载入这些配置时可以使用此命令重载nginx
(5)nginx -s reopen 重新打开日志文件命令
(6)nginx -v
nginx命令参数v与V的区别
nginx -v命令只是简单显示nginx的版本信息(nginx version)
nginx -V不但显示nginx的版本信息,而且还显示nginx的配置参数信息。
(7)nginx -c </path/to/config>
此命令参数指定一个新的nginx配置文件来替换默认的nginx配置文件,如果你不确定新的nginx配置文件语法是否正确,你可以通过nginx命令-t参数来测试,-t参数代表不运行配置文件,而仅仅只是测试配置文件,即nginx -t -c </path/to/config>
7.出现nginx服务关不掉情况
使用./nginx -s stop命令停止nginx,结果发现nginx服务没有停掉
再次使用./nginx -s stop命令,报错
nginx: [error] CreateFile() “D:\download\nginx-1.24.0\nginx-1.24.0/logs/nginx.pid” failed (2: The system cannot find the file specified)
问题操作原因:
多次双击nginx.exe
解决方法
#以下命令的作用是强制终止运行中的 nginx.exe 进程及其所有子进程
taskkill /f /t /im nginx.exe
附:
#启动nginx
start nginx
#重启nginx
nginx -s reload
#关闭nginx
taskkill /f /t /im nginx.exe
#查看端口占用
netstat -aon
8.windows下进程直接关闭
#查看nginx的进程占用情况
tasklist | find /i "nginx.exe" || exit
#关闭nginx的所有进程
taskkill /im nginx.exe /f