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

前几篇文章,我们使用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. 第 29 章 CSS3 弹性伸缩布局[下]

    学习要点: 1.新版本 主讲教师:李炎恢 本章主要探讨 HTML5 中 CSS3 提供的用来实现未来响应式弹性伸缩布局方案,这里做一个初步的了解. 一.新版本 新版本的 Flexbox 模型是 201 ...

  2. oracle linux 启动

    [oracle@dg1 ~]$ sqlplus /nolog SQL*Plus: Release 10.2.0.1.0 - Production on Mon May 11 12:51:24 2009 ...

  3. 什么时候加上android.intent.category.DEFAULT

    什么时候加上android.intent.category.DEFAULT 1.要弄清楚这个问题,首先需要弄明白什么是implicit(隐藏) intent什么是explicit(明确) intent ...

  4. Java Selenium封装--RemoteWebElement

    package com.liuke.selenium.driver; import java.sql.SQLException; import java.util.List; import org.j ...

  5. long和BigDecimal引发的管理思考

    关于long.double.BigDecimal在效率.可用性.灵活性等等方面的技术性讨论和测试其实在网上已经很多了,本文也不是打算讨论他们的实现的,其实笔者也曾在很长的职业生涯周期中一度拘泥于此.但 ...

  6. Atitit.js javascript的rpc框架选型

    Atitit.js javascript的rpc框架选型 1. Dwr1 2. 使用AJAXRPC1 2.2. 数据类型映射表1 3. json-rpc轻量级远程调用协议介绍及使用2 3.1. 2.3 ...

  7. Html技巧 语义化你的代码

    首先是关于语义(Semantics)和默认样式的区别,默认样式是浏览器设定的一些常用tag的表现形式,语义化的主要目的就是让大家直观的认识标签(markup)和属性(attribute)的用途和作用. ...

  8. HTML <b>、 <strong> 、<big>、<small>、<em>、<i>、<sub>和<sup> 标签

    HTML <b> 标签 所有浏览器都支持 <b> 标签. 定义和用法 <b> 标签规定粗体文本. 注释:根据 HTML5 规范,在没有其他合适标签更合适时,才应该把 ...

  9. sharepoint app 开发环境配置

    1. 配置脚本如下: .通过打开命令提示符并键入以下命令来确保 spadmin 和 sptimer 服务正在运行. net start spadminv4 net start sptimerv4 .作 ...

  10. NSNotificationCenter应用总结

    通常我们在 iOS 中发生什么事件时该做什么是由 Delegate 实现的,例如 View 加载完后会触发 viewDidLoad.  Apple 还为我们提供了另一种通知响应方式,那就是 NSNot ...