本文由秀依林枫提供友情赞助,首发于烂泥行天下

前几篇文章,我们使用nginx都是在linux环境下,今天由于工作的需要。需要在windows环境也使用nginx搭建web服务器。

下面记录下有关nginx下的搭建与配置。

注意本次实验使用的windows server 2003 64bit,而且还是在虚拟机中。IP地址为192.168.1.221

首先去官网下载 nginx最新的的Windows版本,如下:

http://nginx.org/en/download.html

下载到软件包后,解压 nginx-1.7.6.zip包到你喜欢的根目录,并将目录名改为nginx。

然后在命令行下,切换nginx的主目录执行下列操作:

cd nginx

start nginx

这样,nginx 服务就启动了。打开任务管理器,查看 nginx.exe 进程,有二个进程会显示,占用系统资源,那是相当的少。如下图:

然后再打开浏览器,输入http://127.0.0.1,就可以看到nginx的欢迎页面了。如下:

其实我们也可以在命令行对nginx进行如下的相关操作:

nginx –h           //查看nginx的帮助

nginx -s stop    // 停止nginx

nginx -s reload   // 重新加载配置文件

接下来就是配置nginx的conf文件。Windows下的nginx配置文件和linux配置文件是一样的。下面是我的配置:

worker_processes  1;

pid        logs/nginx.pid;

events {

worker_connections  1024;
}

http {

include       mime.types;
default_type  application/octet-stream;

log_format  main  '$remote_addr - $remote_user [$time_local] "$request" ''$status $body_bytes_sent "$http_referer" '"$http_user_agent" "$http_x_forwarded_for"';

access_log  logs/access.log  main;

sendfile        on;

keepalive_timeout  65;

server {

listen 80;

server_name localhost;

access_log logs/host.access.log main;

location / {

root E:\MikroTikRouterOS;

autoindex on;

}

}

现在来查看下,我配置后的nginx启动情况。如下:

通过上图,我们可以很明显的看到配置后nginx照样可以正常启动。我这个配置是把nginx作为http文件服务器来是有的。

按理说以上配置完毕后,我们就可以正常使用了。但是windows下的nginx和linux下的nginx不同,linux下的nginx可以随系统启动而启动,而windows下的却不同。

但是为了达到让nginx随windows系统启动而启动,我们可以通过“Windows Service Wrapper”这个软件来实现。但是在实现之前,我们还需要做几件事情:

首先windows系统必须要安装.NET程序。这个是为了支持Windows Service Wrapper软件的。如下:

下面我们开始正式配置Windows Service Wrapper:

1、然后下载最新版的 Windows Service Wrapper 程序,比如我下载的名称是 "winsw-1.9-bin.exe",然后,把它命名成你想要的名字,比如: "winsw.exe",当然你也可以不改名。

2、将重命名后的winsw.exe文件复制到 nginx 的主目录,我这里是 "E:\nginx"。

3、然后在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>E:\nginx\nginx.exe</executable>

<logpath>E:\nginx\</logpath>

<logmode>roll</logmode>

<depend></depend>

<startargument>-p E:\nginx\</startargument>

<stopargument>-p E:\nginx\ -s stop</stopargument>

</service>

4、在命令行下执行以下命令,以便将nginx安装成Windows服务。如下:

winsw.exe install

通过上图,我们可以很明显的看到nginx已经被成功的安装到系统的服务中。

接下来,我们只需要重启服务器就可以了。现在测试下:

可以很明显的看到,这次已经完全达到我们的要求。

补充:

Windows Servcie Wrapper的命令格式如下:

# 安装服务

CMD:\> winsw.exe install

# 卸载服务

CMD:\> winsw.exe uninstall

# 启动服务

CMD:\> winsw.exe start

# 停止服务

CMD:\> winsw.exe stop

烂泥:Windows下安装与配置Nginx web服务器的更多相关文章

  1. windows下安装和配置nginx

    下载nginx 到官网下载window版的nginx http://nginx.org/ 配置环境变量 解压到本地的某个路径下, 打开cmd窗口,cd到nginx的目录下 这里要注意cd的时候要加/d ...

  2. *windows下安装以及配置nginx

    1.从nginx官网下载相应的安装包. http://nginx.org/

  3. PHP学习之-Mongodb在Windows下安装及配置

    Mongodb在Windows下安装及配置 1.下载 下载地址:http://www.mongodb.org/ 建议下载zip版本. 2.安装 下载windows版本安装就和普通的软件一样,直接下一步 ...

  4. Linux下安装与配置Nginx

    一.准备 Nginx版本:nginx-1.7.7.tar.gz   请自行到官网下载对应的版本. 二.步骤 ♦在Linux新建一个queenLove用户 [root@localhost /]# use ...

  5. windows下安装和配置redis

    1.windows下安装和配置redis 1.1 下载: 官网(linux下载地址):https://redis.io/ Windows系统下载地址:https://github.com/MSOpen ...

  6. windows下安装和配置多个版本的JDK

    https://jingyan.baidu.com/article/47a29f2474ba55c015239957.html 如何在windows下安装和配置多个版本的jdk,本文将带你在windo ...

  7. 网络基础 Windows下安装和配置net-snmp 代理

    Windows 下安装和配置net-snmp 代理[摘录] by:授客 QQ:1033553122   A.   安装  1.   安装前准备 ActivePerl-5.10.0.1004-MSWin ...

  8. 基于svnserve的SVN服务器(windows下安装与配置)

    基于svnserve的SVN服务器(windows下安装与配置) 基于svnserve的SVN服务器(windows下安装与配置)关键字: svn 安装SVNserve 从http://subvers ...

  9. windows下安装和配置mongoDB

    上次在mac下安装和配置了mongodb,这次在windows下也尝试安装和配置mongodb. 1.首先下载mongodb压缩包,下载后解压到D盘或E盘.如下: 2.配置环境变量:桌面—计算机右键— ...

随机推荐

  1. 2015暑假多校联合---CRB and His Birthday(01背包)

    题目链接 http://acm.split.hdu.edu.cn/showproblem.php?pid=5410 Problem Description Today is CRB's birthda ...

  2. 高性能的分布式服务框架 Dubbo

    我思故我在,提问启迪思考! 1. 什么是Dubbo? 官网:http://dubbo.io/,DUBBO是一个分布式服务框架,致力于提供高性能和透明化的RPC远程服务调用方案,以及作为SOA服务治理的 ...

  3. 【USACO】DP动态规划小测(一)

    {20160927 19:30~21:30} 总分400分,我113.33,稳稳地垫底了......(十分呼应我上面的博客名,hhh~)过了这么多天我才打完所有代码,废话我也就不多说了.不过,虽然时间 ...

  4. 初学C++之自定义类型名简化

    说明:本人使用的是vc++ IDE:vs2013 我在自定义一些类时,有时会取一些很长的名字,但是这不利于使用,这个时候就可以使用类型名简化. class MathAddBBBB { }; using ...

  5. java.lang.IllegalStateException: Recursive entry to executePendingTransactions

    [解决办法]: 将getFragmentManager改为getChildFragmentManager即可

  6. 用SQL语句添加删除修改字段_常用SQL

    1.增加字段     alter table docdsp     add dspcodechar(200)2.删除字段     ALTER TABLE table_NAME DROP COLUMNc ...

  7. css权重

    1.行内样式,指的是html文档中定义的style <h1 style="color: #fff;">header</h1> 2.ID选择器 3.类,属性选 ...

  8. 20个最新的照片 PS 技巧,提升摄影水平

    相信很多人都知道 Photoshop 在照片编辑方面的强大,所以几乎每张照片经过 PS 处理后都可以变成一个真正的杰作.这里分享的这组 Photoshop 教程可以帮助你学习到新的照片处理技术.你会发 ...

  9. JS中数组去除重复

    法一:返回新数组每个位子类型没变 function outRepeat(a){ var hash=[],arr=[]; for (var i = 0; i < a.length; i++) { ...

  10. 记STM32F030多通道ADC DMA读取乱序问题

    问题描述通过 uint16_t ConvData[8]保存DMA搬运的ADC转换数值,但是这个数组数值的顺序总是和ADC不是顺序对应的.比如用7个通道的ADC,当设置ADC_InitStructure ...