Nginx在windows2003下的使用 PHP
nginx真正能够发挥其良好的负载能力的,是在linux下。
我们在windows下搭建好环境,测试开发使用。强烈建议在linux下开发的。
----
下载nginx
访问www.nginx.org,download最新的开发版本:1.1.5 (似乎nginx也要有朝版本帝发展的迹象了)
文件名为:nginx-1.1.5.zip
在硬盘上建立一个nginx目录,解压。
目录中就只有一个nginx.exe文件,总大小不超过2.15M,真苗条。
如果,只是要做html解析,直接运行nginx.exe即可,默认web目录为nginx\html,我们一般要配置成支持php的,哈哈。
nginx+php+FastCGI
这里使用php最新版本5.3.8(截至2011年10月14日)
下载php,访问www.php.net,选择windows版本的php下载,下载非线程安全的或线程安全的,这里注意:
Non Thread Safe是什么?
Non Thread Safe就是非线程安全;
Thread Safe 是什么?
Non Thread Safe 是线程安全;
官方并不建议你将Non Thread Safe 应用于生产环境,所以我们选择Thread Safe 版本的PHP来使用
我们这里使用非线程安全的版本。解压php-5.3.8-nts-Win32-VC9-x86.zip到硬盘目录中,如d:\php
下面开始配置...关键就是配置了,哎,现在就是一个配置的时代...
nginx的配置文件在nginx目录下的conf目录中,名为nginx.conf
具体配置我也不讲,只说针对php的配置。
在server { ... }一节中,找到 listen 和 server_name,按如下配置(如果端口要设置成80,请保证未安装其他应用程序服务器,如IIS,apache等,或者保证他们不在运行当中):
server {
listen 80;
server_name localhost:80;
顺便把编码也改改:
charset utf-8;
然后:location 一节也改改:
location / {
#设置网站默认首页文件
index index.html index.htm index.php;
#设置网站根目录
root d:/nginx/html/;
}
接着是php相关的,使用fastcgi:
找到 #pass the PHP scripts to FastCGI server listening on 127.0.0.1:9000 这行,下面参考:
d:/nginx/html/$fastcgi_script_name;
include fastcgi_params;
}
保存,接着给nginx.exe做个启用bat文件,内容如下:
@echo off
REM "正在启动Nginx 服务器…….."
start nginx
REM "开始启动PHP FastCGI………"
start D:\php\php-cgi.exe -b 127.0.0.1:9000
好了,接下来配置php,打开php目录,将php.ini-development文件改名成php.ini(php的配置文件,因为在windows环境当中,请保证不要放在windows目录下,放在php目录中即可)
用文本编辑器打开它,我用的是PsPad,免费强大的文本编辑器。
添加(这几个配置项其实是被注释掉了,大家可以搜索,并去掉前面的 “;”):
fastcgi.impersonate = 1
cgi.fix_pathinfo=1
cgi.force_redirect = 0
一般也就到这了,但是php本身还需要配置,参考:
memory_limit = 256M
default_charset = "utf-8"
user_dir ="d:\ningx\html"
extension_dir = "d:\php\ext"
去掉如extension=php_mysql.dll 或 extension=php_mysqli.dll这些扩展项前面的注释符号“;”
其他自己看着配吧。
保存,在到nginx目录的html目录中,建立一个index.php文件,里面内容如下:
- <?php
- phpinfo();
- ?>
然后双击上面建好的批处理文件,再在浏览器里面输入:http://localhost/index.php
完成!