我们如果自windows上使用nginx,解压后只要点击 nginx.exe 便启动了nginx,但我们的电脑服务器重新时还需要再次运行nginx.exe,所以我们需要把nginx.exe添加到Windows服务里去,让它随机自启动。
Nginx
Nginx 是一个 web 服务器。它类似于 Lighttpd,作为轻量级的 web server,可以替代重量级的 Apache/IIS。Nginx 专为性能优化而开发,是一个快速且能经受高负载考验的 web server。它来自于 Linux 世界但同样可以运行在 Windows 上面(由本地语言构建)。唯一的问题就是它不支持 Windows Services。
如果它能够像 apache 或 IIS 那样作为一个服务工作的话会更漂亮。那样的话,我们就可以设置机器启动时 Nginx 自动启动,还可以方便地启动、停止或者重启服务,设置恢复选项、依赖的服务,等等。
通过cmd命令方式
nginx –h
//查看nginx的帮助
start nginx
//启动
nginx -s stop
//停止服务:
nginx -s reload
//重新加载配置:
winsw.exe让Nginx作为Windows服务开机自启动:
每次以cmd方式启动Nginx服务不符合实际要求,于是我们想到将其注册为Windows服务,并设置为自动启动模式。这里,我们使用一个不错的小程序:“Windows Service Wrapper”,将nginx.exe注册为Windows服务!
使用方法:
1、首先windows系统必须要安装.NET程序。这个是为了支持Windows Service Wrapper软件的,下载最新版的 Windows Service Wrapper 程序.
2、然后,把它命名成你想要的名字,比如: "winsw.exe",当然你也可以不改名。
3、将重命名后的winsw.exe文件复制到 nginx 的主目录,我这里是 "c:\nginx"。
4、然后在nginx主目录下创建一个Windows Service Wrapper的XML配置文件,而且该名称必须与第一步重命名时winsw.exe使用的名称一致,比如我这里是 "winsw.xml"。
winsw.xml文件内容如下:
<?xml version="1.0" encoding="UTF-8" ?>
<service>
<id>nginx</id>
<name>nginx</name>
<description>nginx</description>
<executable>c:\nginx\nginx.exe</executable>
<logpath>c:\nginx\</logpath>
<logmode>roll</logmode>
<depend></depend>
<startargument>-p c:\nginx\</startargument>
<stopargument>-p c:\nginx\ -s stop</stopargument>
</service>
5、在命令行下执行以下命令,以便将nginx安装成Windows服务。如下:
winsw.exe install
Windows Servcie Wrapper的命令格式如下:
# 安装服务
CMD:\> winsw.exe install
# 卸载服务
CMD:\> winsw.exe uninstall
# 启动服务
CMD:\> winsw.exe start
# 停止服务
CMD:\> winsw.exe stop