下载

Nginx是开源软件,用户可以访问 http://nginx.org/ 网站获取源码包或Windows二进制文件下载。其中1.13.x版本为开发版本,1.12.0版本为稳定版本。开发版本分支会较快的获得新功能和缺陷修复,但同时也可能会遇到新的缺陷。一旦更新稳定下来,就会被加入稳定版本分支。

作为生产环境,通常建议用户使用稳定版本。

Nginx在Windows环境下安装

nginx的windows版本使用原生win32 API(非Cygwin模拟层)。当前存在的已知问题:

1.采用select作为通知方法,所以不具备很高的性能和扩展性;

2.虽然可以启动若干工作进程运行,实际上只有一个进程在处理请求所有请求;

3.一个工作进程只能处理不超过1024个并发连接;

4.缓存和其他需要共享内存支持的模块在windows vista及后续版本的操作系统中无法工作,因为在这些操作系统中,地址空间的布局是随机的;

5.除了XSLT过滤器、图像过滤器、GeoIP模块和嵌入Perl语言支持以外,Nginx的Windows版本与Unix版本相比,功能几乎齐全。

安装Nginx的Windows版本,建议下载最新的1.3.13开发版本,因为开发分支上包含了所有已知的问题修复,尤其是针对Windows版本的问题修复。解压下载得到的zip文件,进入nginx-1.3.13目录,运行nginx。

C盘根目录下安装例子

cd c:\
unzip nginx-1.3..zip
cd nginx-1.3.
start nginx

Nginx的Windows版本的控制命令包含如下:

nginx -s stop 快速退出
nginx -s quit 优雅退出
nginx -s reload 更换配置,启动新的工作进程,优雅的关闭以往的工作进程
nginx -s reopen 重新打开日志文件

windows下nginx无法启动

启动window上的nginx总是报错,查看logs目录下的error文件,发现报错信息:
1340#3540: bind() to 0.0.0.0:80 failed (10013: An attempt was made to access a socket in a way forbidden by its access permissions)
大概意思是 nginx listen的80后端口被占用.
 
在cmd窗口运行如下命令:
C:\Users\Administrator>netstat -aon | findstr :80  
 
如果是被系统占用:
看到80端口果真被占用。发现占用的pid是4,名字是System。怎么禁用呢?
1、打开注册表:regedit
2、找到:HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\services\HTTP
3、找到一个REG_DWORD类型的项Start,将其改为0
4、重启系统,System进程不会占用80端口
 
重启之后,start nginx.exe 。
 在进程中

在浏览器中,输入127.0.0.1,即可看到亲爱的“Welcome to nginx!” 了。
 
如果是其它的占用,就找到相应进程pid,然后kill掉,重启nginx,比如:
C:\>netstat -aon|findstr "80" 
TCP 127.0.0.1:80 0.0.0.0:0 LISTENING 2448
端口被进程号为2448的进程占用,继续执行下面命令:
C:\>tasklist|findstr "2448" 
httpd.exe                     2560 RDP-Tcp#5                  2     16,984 K
上面很明显,是httpd这个进行占用了80端口,大家都知道httpd这个进程是apache的进程,也确实我的服务器上已经启动了apache,所以关掉apache就行了。
如果是其它的,可以直接kill掉。
 
另:当然也可以你的nginx就不要监听80端口了~~~
 

测试

将Nginx conf文件的server block部分的配置如下:

server {
listen 80;
server_name localhost; location / {
root html;
index index.html index.htm;
} # redirect server error pages to the static page /50x.html
error_page 500 502 503 504 /50x.html;
location = /50x.html {
root html;
}
}

如上配置,在默认情况下 他的root是 nginx目录下的html文件夹

用户可以通过访问“http://localhost:80/index.html”页面来查看Nginx的欢迎页面。

Nginx在Windows环境下查看nginx进程

用户还可以通过命令行运行tasklist命令来查看nginx进程:

>C:\>tasklist /fi "imagename eq nginx.exe"

如果nginx没有启动或没有得到预期展示页面,可查看error.log文件以查看失败原因。如果日志文件不存在,可在Windows事件日志中查看。

https://blog.csdn.net/zorro_jin/article/details/84927408

Nginx——在Windows环境下安装(一)的更多相关文章

  1. Nginx——在Windows环境下安装

    下载 Nginx是开源软件,用户可以访问 http://nginx.org/ 网站获取源码包或Windows二进制文件下载.其中1.13.x版本为开发版本,1.12.0版本为稳定版本.开发版本分支会较 ...

  2. Linux和Windows环境下安装Nginx

    Nginx的安装 windows环境下安装Nginx 安装 Nginx 的下载地址如下: http://nginx.org/en/download.html 选择时尽量选择 Stable 稳定版本,点 ...

  3. 在 windows 环境下安装 redislive

    这是一篇在 windows 环境下安装 redislive 的教程! 项目地址:https://github.com/nkrode/RedisLive 配置文档:http://www.nkrode.c ...

  4. Windows环境下安装PHPUnit

    Windows环境下安装PHPUnit,在此整理一下,以便大家参考. 本人测试安装环境:Windows7(win32) + Apache(2.2.13) + PHP(5.3.6) 1.    以管理员 ...

  5. 在windows环境下安装redis和phpredis的扩展

    在windows环境下安装redis和phpredis的扩展 1.首先配置php: 需要在windows的集成环境中找到php的扩展文件夹,ext,然后在网上寻找自己的php对应的.dll文件 比如说 ...

  6. windows环境下安装yaf框架

    windows环境下安装yaf框架 在windows下安装yaf框架 准备工作: php环境(过程略,wamp,xampp,phpstudy都行,php版本大于5.3) git工具(需要从github ...

  7. ElasticHD Windows环境下安装

    ElasticHD Linux环境下安装教程        ElasticHD windows环境下安装教程   习惯了T-SQL 查询,Elasticsearch的DSL查询语法简直就是反人类呀,一 ...

  8. RabbitMQ,Windows环境下安装搭建

    切入正题:RabbitMQ的Windows环境下安装搭建 一.首先安装otp_win64_20.1.exe,,, 二.然后安装,rabbitmq-server-3.6.12.exe, 安装完成后,在服 ...

  9. 如何在Windows环境下安装Linux系统虚拟机

    如何在Windows环境下安装Linux系统虚拟机 本篇经验写给想要入门学习C语言的小白们.Windows系统因为使用窗口图形化,操作简单,功能多样,所以我们在Windows环境下可以做到很多,但想要 ...

随机推荐

  1. iOS 内网内测应用发布

    之前测试时,iOS 开发会把测试版本上传到蒲公英上,可以很方便的获取.后来认为不安全,万一测试版泄露了会有风险,就又回到了解放前,测试跑到开发那里编包.想过把手机越狱安装开发的编的 ipa 包,这样测 ...

  2. Aspose.Cells基础使用方法整理

    Aspose.Cells 插件,将web端数据以excel形式导出到客户端. 相关文档: https://blog.csdn.net/djk8888/article/details/53065416 ...

  3. servlet中地址详细分析

    path路径的写法 假设; 项目名为day01 webroot下存放静态文件demo.html 转发 request.getRequestDispatcherType("path" ...

  4. Java 实现简单的RPC框架

    0 引言 RPC,全称为Remote Procedure Call,即远程过程调用,它是一个计算机通信协议.它允许像调用本地服务一样调用远程服务.它可以有不同的实现方式.如RMI(远程方法调用).He ...

  5. laravel 常用单词翻译

    1.ORM:(Object Relational Mapping,简称ORM,或O/RM,或O/R mapping), 翻译为:对象关系映射. 是一种程序技术,用于实现面向对象编程语言里不同类型系统的 ...

  6. freeswitch GUI界面(portal)

    1.控制台 加载模块 load mod_xml_rpc 2.ip:8080/portal 进行登录  账号 : freeswitch  密码 : works 让模块随着freeswitch启动进行加载 ...

  7. IDEA Maven 打包运行 jar java.io.FileNotFoundException: 问题?

    当 使用 idea maven 将项目打包运行的时候,能够成功运行,但是总会跑到 xxx\xxx\lib 下 找jar包 如下异常: java.io.FileNotFoundException: D: ...

  8. Python学习笔记(一):基本数据类型

    在Python3种,有六种标准数据类型: 数字(Number) 字符串(String) 列表(List) 元组(Tuple) 集合(Set) 字典(Dictionary) 这六种数据类型中,数字类型和 ...

  9. docker mysql 数据持久化到本地、设置不区别表名大小写-清风柳絮-51CTO博客

    原文:docker mysql 数据持久化到本地.设置不区别表名大小写-清风柳絮-51CTO博客 Docker MySQL 把数据存储在本地目录,很简单,只需要映射本地目录到容器即可 1.加上-v参数 ...

  10. C语言 将十六进制字符串转为十六进制数 (二进制、十进制都适用)

    主要利用 long int strtol(const char *nptr,char **endptr,int base); 函数 函数说明: 参数base范围从2至36,或0.参数base代表采用的 ...