Windows 下Nginx+PHP 的安装与配置
? 一.软件准备
1.Nginx:http://nginx.org/download/nginx-1.2.0.zip
2.php:http://windows.php.net/download/php-5.2.17-Win32-VC6-x86.zip 这里需要注意一下,如果使用Apache或Nginx运行php,要选择VC6的线程安全版本,使用IIS选择VC9版本。所以这里使用前者。
3.RunHiddenConsole:http://redmine.lighttpd.net/attachments/660/RunHiddenConsole.zip 用于隐藏命令窗口。
二、安装Php
首先将上面下载的PHP解压到php的安装目录PHP_PATH,并将PHP_PATH以及PHP_PATH/ext添加到Path环境变量中。
将PHP_PATH下的php.ini-dist重命名为php.ini,这个就是PHP的配置文件。然后根据需要修改这个文件。
三、安装Nginx
解压下载到的nginx-1.2.0.zip,并将其文件夹命名为nginx-1.2?,可以通过命令行的方式或者脚本的方式启动nginx,下面介绍脚本方式
分别创建一个start_nginx.bat和stop_nginx.bat文件放置在nginx的根目录下
start_nginx.bat内容如下:
@echo off
echo Starting nginx...
d:/nginx1.2/nginx.exe
stop_nginx.bat内容如下:
@echo off
echo Stopping nginx...
taskkill /F /IM nginx.exe > nul
exit
启动nginx,如果出现nginx的欢迎界面,则说明nginx安装成功
四、Nginx与PHP的配置
1、在Windows环境下,Nginx通过守护进行fast-cgi与php进行交互,这个守护进程是以php-cgi.exe,需要通过命令来执行,格式如下:
php-cgi.exe -b 127.0.0.1:
这样,php-cgi.exe就可以监听客户端的链接请求,但是这个打开一个命令行窗口。可以通RunHiddenConsole工具来隐藏这个窗口,把RunHiddenConsole.zip解压,并把其中的RunHiddenConsole.exe复制到nginx的根目录下。
2、把启动和停止php-cgi.exe的脚本添加到上述的start_nginx.bat和stop_nginx.bat文件(蓝色部分):
start_nginx.bat内容如下:
?
@echo off
echo Starting PHP FastCGI...
RunHiddenConsole D:/PHP5.2.17/php-cgi.exe -b 127.0.0.1:9000 -c D:/PHP5.2.17/php.ini
echo Starting nginx...
d:/nginx1.2/nginx.exe
?
stop_nginx.bat内容如下:
?
@echo off
echo Stopping nginx...
taskkill /F /IM nginx.exe > nul
echo Stopping PHP FastCGI...
taskkill /F /IM php-cgi.exe > nul
exit
3、修改nginx的配置文件nginx.conf
首先根据需要修改端口号,在36行,修改listen ? ? ? 80; 为listen ? ? ? 8012;(可任意修改)
其次在45行增加支持默认查找index.php文件,修改index ?index.html index.htm;为index ?index.php index.html index.htm;
最后,修改65行到71行
原始代码为:
location ~ \.php$ {
? ? ? ? ? # ? root ? ? ? ? ? html;
? ? ? ? ??#? fastcgi_pass ? 127.0.0.1:9000;
? ? ? ? ??#? fastcgi_index ?index.php;
? ? ? ? ??#? fastcgi_param ?SCRIPT_FILENAME ?/scripts$fastcgi_script_name;
? ? ? ? ? #?include ? ? ? ?fastcgi_params;
? ? ? ? }
修改为:
location ~ \.php$ {
? ? ? ? ?# ? root ? ? ? ? ? html;
? ? ? ? ? ? fastcgi_pass ? 127.0.0.1:9000;
? ? ? ? ? ? fastcgi_index ?index.php;
? ? ? ? ? ? fastcgi_param ?SCRIPT_FILENAME ?D:/nginx1.2/html$fastcgi_script_name;
? ? ? ? ? ? include ? ? ? ?fastcgi_params;
? ? ? ? }
其中,蓝色字体需要修改为自己的PHP文件所在目录
五、双击start_nginx.bat,以启动nginx和php
在浏览器中输入http://localhost:8012/index.php,如果出现php的欢迎界面,则说明nginx与php的配置成功。
?