当前位置: 首页 > news >正文

烂泥:Windows下安装与配置Nginx web服务器

本文首发于烂泥行天下

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

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

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

clip_image001

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

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

clip_image002

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

clip_image003

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

cd nginx

start nginx

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

clip_image004

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

clip_image005

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

nginx –h           //查看nginx的帮助

nginx -s stop    // 停止nginx

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

clip_image006

接下来就是配置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启动情况。如下:

clip_image007

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

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

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

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

clip_image008

下面我们开始正式配置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"。如下:

clip_image009

   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>

clip_image010

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

winsw.exe install

clip_image011

clip_image012

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

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

clip_image013

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

补充:

Windows Servcie Wrapper的命令格式如下:

# 安装服务

CMD:\> winsw.exe install

# 卸载服务

CMD:\> winsw.exe uninstall

# 启动服务

CMD:\> winsw.exe start

# 停止服务

CMD:\> winsw.exe stop

相关文章:

  • Asp.Net+Extjs实现登录
  • 文通移动文字识别采集终端(身份证识别,驾驶证识别,行驶证识别,护照识别,车牌识别)...
  • isFinite()
  • 线性判别分析LDA详解
  • Oracle RAC的日志体系
  • C# Distinct方法的使用笔记
  • Linux远程桌面
  • Java Se : Java NIO(服务端)与BIO(客户端)通信
  • 关于分布式事务、两阶段提交、一阶段提交、Best Efforts 1PC模式和事务补偿机制的研究...
  • SQL Server 2014 官方培训课件
  • 使用SSL证书保障网络游戏信息安全
  • vs2010 正式版官方下载地址
  • Python用subprocess的Popen来调用系统命令
  • gc overhead limit exceeded eclipse错误解决方式
  • 【错排问题】【HDU2048】神、上帝以及老天爷
  • JS中 map, filter, some, every, forEach, for in, for of 用法总结
  • centos安装java运行环境jdk+tomcat
  • eclipse的离线汉化
  • Fundebug计费标准解释:事件数是如何定义的?
  • gitlab-ci配置详解(一)
  • iOS高仿微信项目、阴影圆角渐变色效果、卡片动画、波浪动画、路由框架等源码...
  • java 多线程基础, 我觉得还是有必要看看的
  • Java 实战开发之spring、logback配置及chrome开发神器(六)
  • JS基础之数据类型、对象、原型、原型链、继承
  • js中的正则表达式入门
  • Laravel 实践之路: 数据库迁移与数据填充
  • Linux CTF 逆向入门
  • maven工程打包jar以及java jar命令的classpath使用
  • Python 反序列化安全问题(二)
  • Swoft 源码剖析 - 代码自动更新机制
  • 爬虫模拟登陆 SegmentFault
  • 人脸识别最新开发经验demo
  • 算法之不定期更新(一)(2018-04-12)
  • 项目实战-Api的解决方案
  • mysql 慢查询分析工具:pt-query-digest 在mac 上的安装使用 ...
  • #免费 苹果M系芯片Macbook电脑MacOS使用Bash脚本写入(读写)NTFS硬盘教程
  • #我与Java虚拟机的故事#连载12:一本书带我深入Java领域
  • (cljs/run-at (JSVM. :browser) 搭建刚好可用的开发环境!)
  • (二)windows配置JDK环境
  • (翻译)terry crowley: 写给程序员
  • (附源码)计算机毕业设计ssm基于Internet快递柜管理系统
  • (每日持续更新)jdk api之FileReader基础、应用、实战
  • (亲测有效)解决windows11无法使用1500000波特率的问题
  • (原創) 如何優化ThinkPad X61開機速度? (NB) (ThinkPad) (X61) (OS) (Windows)
  • (正则)提取页面里的img标签
  • (转载)PyTorch代码规范最佳实践和样式指南
  • (最简单,详细,直接上手)uniapp/vue中英文多语言切换
  • .NET NPOI导出Excel详解
  • .NET Standard / dotnet-core / net472 —— .NET 究竟应该如何大小写?
  • .NET 材料检测系统崩溃分析
  • .net 获取url的方法
  • .NET 使用 XPath 来读写 XML 文件
  • .Net环境下的缓存技术介绍
  • .NET与java的MVC模式(2):struts2核心工作流程与原理
  • .net中我喜欢的两种验证码