1.下载nginx
http://nginx.org/en/download.html 下载稳定版本,以nginx/Windows-1.12.2为例,直接下载 nginx-1.12.2.zip
下载后解压,解压后如下
2.启动nginx
有很多种方法启动nginx
(1)直接双击nginx.exe,双击后一个黑色的弹窗一闪而过
(2)打开cmd命令窗口,切换到nginx解压目录下,输入命令 nginx.exe 或者 start nginx ,回车即可
3.检查nginx是否启动成功
直接在浏览器地址栏输入网址 http://localhost:80,回车,出现以下页面说明启动成功
也可以在cmd命令窗口输入命令 tasklist /fi "imagename eq nginx.exe" ,出现如下结果说明启动成功
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、nginx命令介绍(cd 到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>
问题方案
1、关闭不了nginx?
(1)nginx -s stop后用任务管理器看还有没有nginx.exe进程
(2)cmd命令行执行netstat -an|find "0:80"看端口是否还开启
(3)如果进程也没有,端口也没开启,说明你访问的是浏览器缓存,F5刷新就没有了
(4)可使用 taskkill /F /IM nginx.exe > nul 命令强制关掉所有nginx(可能存在多开nginx的情况)
4.关闭nginx
如果使用cmd命令窗口启动nginx,关闭cmd窗口是不能结束nginx进程的,可使用两种方法关闭nginx
(1)输入nginx命令 nginx -s stop(快速停止nginx) 或 nginx -s quit(完整有序的停止nginx)
(2)使用taskkill taskkill /f /t /im nginx.exe
5.使用nginx代理服务器做负载均衡
我们可以修改nginx的配置文件nginx.conf 达到访问nginx代理服务器时跳转到指定服务器的目的,即通过proxy_pass 配置请求转发地址,即当我们依然输入http://localhost:80 时,请求会跳转到我们配置的服务器
同理,我们可以配置多个目标服务器,当一台服务器出现故障时,nginx能将请求自动转向另一台服务器,例如配置如下:
当服务器 localhost:8080 挂掉时,nginxnginx能将请求自动转向服务器 192.168.101.9:8080 。上面还加了一个weight属性,此属性表示各服务器被访问到的权重,weight
越高被访问到的几率越高。
6.nginx配置静态资源
将静态资源(如jpg|png|css|js等)放在如下配置的f:/nginx-1.12.2/static目录下,然后在nginx配置文件中做如下配置(注意:静态资源配置只能放在 location / 中),浏览器中访问 http://localhost:80/1.png 即可访问到 f:/nginx-1.12.2/static目录下的 1.png图片
6.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 内容如下:(替换成你的路径)
<?xml version="1.0" encoding="UTF-8" ?>
<service>
<id>nginx</id>
<name>nginx</name>
<description>nginx server</description>
<executable>D:\nginx\nginx-1.16.1\nginx.exe</executable>
<logpath>D:\nginx\nginx-1.16.1\logs</logpath>
<logmode>roll</logmode>
<depend></depend>
<startargument>-p D:\nginx\nginx-1.16.1</startargument>
<stopargument>-p D:\nginx\nginx-1.16.1 -s stop</stopargument>
</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服务面板中启动服务了
浏览器中就可以正常访问了
网址:http://blog.csdn.net/weixin_37288522/article/details/70576409
错误:
nginx: [error] OpenEvent("Global\ngx_stop_14032") failed (2: The system cannot find the file specified)
错误原因:
Nginx 尚未启动导致,执行 start nginx 命令开启Nginx