nginx是一款开源的HTTP服务器和反向代理服务器,nginx可以作为Web服务器提供HTTP访问功能,类似于Apache、IIS等。目前nginx已经在国内外很多网站作为Web服务器或反向代理服务器来使用。nginx具有跨平台的特性,无论是Linux还是Windows系统均可以使用。
此次安装在Windows Server 2008 R2下进行的。
一、首先进入nginx的官网,点击右边的download链接进入到下载页面。
选择稳定版的nginx/Windows-1.16.0进行下载。
将下载后的压缩包解压,解压后的目录如下图所示。后续步骤主要会用到conf目录下的nginx.conf配置文件。
接下来启动nginx,在cmd下使用命令进行nginx的启动、停止和重启工作。使用Win+R快捷键打开运行框窗口,输入cmd进入命令提示符窗口,并切换到nginx.exe所在的目录,使用 start nginx 命令来启动nginx。
启动后查看任务管理器,在“任务管理器的进程”中会看到“nginx.exe”进程,如下图所示:
打开客户端的浏览器,在地址栏输入服务器的IP地址,会看到如下图所示的nginx欢迎界面。(要是访问不到,注意服务器防火墙的限制和nginx监听的端口是否和服务器上的其他服务有冲突。)
此时此刻,在命令提示符窗口下还可以执行以下命令
nginx.exe -s stop # 停止nginx
nginx.exe -s reload # 重新加载nginx
需要注意:nginx.exe -s reload 这条命令只有在命令提示符下用 start nginx 命令启动nginx并且nginx正常运行时才能使用,否则报错,在Windows的服务下启动的nginx用这条命令也会报错。
nginx.exe -s quit # 退出nginx
注:以上的命令中,.exe可以省略
接下来修改conf目录下的nginx.conf文件,其中listen是nginx的监听端口,默认是80端口,可以在0-65535之间任意设置。server_name因为是在本地启动nginx,所以设置为localhost。location后面的/为客户端请求的路径,root是访问本地资源的目录,index为访问的本地资源文件名。
root后面是存放项目的的目录,默认html表示nginx根目录下的html文件夹,要是更换项目路径,如下图所示:
用nginx.exe -t -c conf/nginx.conf 命令可以来验证配置文件是否正确,验证成功后使用nginx.exe -s reload重新加载配置文件。
二、将Nginx加入Windows服务,可设置开机自动启动。
需要借助"Windows Service Wrapper"小工具
下载该工具后,将其放在 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:\Web Service\nginx-1.16.0\logs</logpath>
<log mode="roll-by-size">
<sizeThreshold>10240</sizeThreshold>
<keepFiles>8</keepFiles>
</log>
<executable>D:\Web Service\nginx-1.16.0\nginx.exe</executable>
<startarguments>-p D:\Web Service\nginx-1.16.0</startarguments>
<stopexecutable>D:\Web Service\nginx-1.16.0\nginx.exe</stopexecutable>
<stoparguments>-p D:\Web Service\nginx-1.16.0 -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服务
nginx-service.exe install
之后就可以在Windows服务面板中启动服务了,(进入Windows服务面板的方法,Win+R快捷键打开运行框窗口,输入services.msc,确定即可进入)启动类型设置成自动,如下图所示:
到此Windows下nginx的服务安装完毕!