Blue Flower

nginx windows版是针对windows系统而开发的一款高性能web服务器,也是目前最优秀的反向代理服务器,具有很多非常优越的特性,包括稳定性强、丰富的功能集、示例配置文件和低系统资源的消耗,在连接高并发的情况下,nginx是Apache服务器不错的替代品,能够支持高达50,000个并发连接数的响应,为你的web服务分享有力的支持。
nginx windows版可以作为负载均衡服务器,既可以在内部直接支持Rails和PHP程序对外进行服务,也可以支持作为HTTP代理服务器对外进行服务。由于nginx采用C进行编写,不论是系统资源开销还是CPU使用效率都比Perlbal要好很多。另外nginx启动特别容易,并且几乎可以做到7*24不间断运行,即使运行数个月也不需要重新启动。
202209130412535640460000

基本介绍

知识兔Nginx(发音同 engine x)是一款轻量级的Web 服务器/反向代理服务器及电子邮件(IMAP/POP3)代理服务器,并在一个BSD-like 协议下发行。由俄罗斯的程序设计师Igor Sysoev所开发,供俄国大型的入口网站及搜索引擎Rambler(俄文:Рамблер)使用。其特点是占有内存少,并发能力强,事实上nginx的并发能力确实在同类型的网页服务器中表现较好,中国大陆使用nginx网站用户有:新浪、网易、 腾讯等。

nginx windows安装配置方法

知识兔第一步、安装方法
一、下载好后,把nginx windows版软件解压到c盘根目录。
二、双击nginx.exe图标,可见黑窗口一闪而过,启动完毕。
202209130412538142040001
三、按下win+R快捷键,输入cmd打开命令行。
202209130412541149360002
四、命令行到nginx目录,输入nginx启动。(注,此方式命令行窗口无任何提示,且被锁定)
202209130412543951030003
五、打开浏览器,输入http://127.0.0.1,如果看到下图片则安装成功。
202209130412546322120004
六、以后启动软件直接双击图标即可。
七、启动后,默认情况下(无修改配置),可见到有两个nginx的进程,一个是master process,一个是worker processes测试。
202209130412550100070005
第二步、配置方法
配置目标:能正常运行PHP脚本程序
大部分情况下,知识兔需要修改的配置文件只有一个,那就是nginx.conf,该文件位于conf目录下。具体配置项目为:
1. server_tokens off;
出于安全方面的考虑,最好是隐藏nginx版本号信息
2. listen       8088;
8088为监听端口,根据需要可以填写其它端口号
3. server_name  localhost;
localhost为服务器访问名称,也就是知识兔在浏览器里输入的那个url地址
4. charset utf-8;
字符集编码
5. 工作目录
将如下配置
202209130412552206580006
修改为:
202209130412554488370007
root 定义了工作空间,也就是知识兔php项目所在的目录。
加入index.php是为了让nginx能够识别php脚本,否则,在访问php文件时,会出现直接下载的情况。
6. 整合php
将location ~ \.php配置部分的注释全部去掉,最终配置如下:
202209130412556995080008
注意这里面的$document_root变量,它对应的内容就是root参数值,如果知识兔没有定义root参数或者把root注释掉,在访问php的时候,页面上就会出现No input file specified.提示。
7. 启动php-cgi
打开cmd命令窗口,切换到php的安装目录,执行php-cgi -b 127.0.0.1:9000,即可启动php-cgi,启动完成后,cmd窗口切勿关闭,否则php-cgi也会被关掉的。
特别提醒:只有在开启php-cgi的情况下,nginx才能正常访问php。
8. 重启nginx
打开cmd命令窗口,切换到nginx所在目录,执行nginx -s reload即可重启nginx。其它相关nginx相关命令如下:
启动:start nginx
停止:nginx -s stop
退出:nginx -s quit

常见问题

知识兔1. No log handling enabled - turning on stderr logging
启动php-cgi过程中,如果报出这个错误,请把php.ini配置文件中的extension=php_snmp.dll注释掉。
2. 端口占用
Cannot bind/listen socket - [2] No such file or directory.
Couldn't create FastCGI listen socket on port 127.0.0.1:9000
启动php-cgi过程中,如果报类似这种错误,就表示9000端口被占用了,此时,知识兔可以换个端口试试。
3. 反向代理404 not found
以反向代理的方式访问php时,出现404 Not Found错误,这种情况,知识兔需要修改nginx的error_page配置项,如下:
将原来默认的error_page注释掉
202209130412559639370009
然后,重新定义error_page,如下:
202209130412561560510010
@proxy对应的内容为:
202209130412563902230011
保存后,重启nginx即可解决404 Not Found错误。
友情提醒:以反向代理的方式访问php时,就不需要配置php-cgi模块了。
3、如何让nginx支持jsp访问?
nginx本身是不支持jsp等动态脚本的,但知识兔可以通过nginx反向代理的方式来支持jsp等动态页面的访问,即把jsp等动态页面的请求,转发给后端的tomcat服务器进行处理,具体配置如下:
在http下新建一个server虚拟机,内容为:
202209130412567052760012
重启nginx后,通过http://localhost:8089/index.jsp即可访问到tomcat的欢迎页面。其中,http://127.0.0.1:8080是tomcat服务器的访问地址,proxy_pass将jsp等请求转发到了tomcat服务器的8080端口上,注意配置中的静态资源部分:
202209130412569360020013
如果去掉上面这段配置,通过http://localhost:8089/index.jsp将无法访问到jsp文件中的静态资源,从而造成页面布局错乱等问题。
同理,也可以通过这种方式来整合php页面的访问,但要事先安装好apache服务器。

更新日志

知识兔v1.21.6版本
1、问题修复
2、提高稳定性>

下载仅供下载体验和测试学习,不得商用和正当使用。

下载体验

请输入密码查看内容!

如何获取密码?

 

点击下载