您的位置:首页 > 运维架构 > Nginx

windows下Nginx和PHP的安装与配置

2011-07-08 13:55 531 查看

一.软件准备

1.Nginx:http://nginx.org/download/nginx-1.0.4.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-5.2.17-Win32-VC6-x86.zip文件到php的安装目录PHP_PATH,然后在环境变量PATH中添加PHP的安装路径PHP_PATH和PHP_PATH/ext。

将PHP_PATH下的php.ini-dist重命名为php.ini,这个就是PHP的配置文件。然后修改这个文件。

1. 将register_globals = Off 修改为On,这个选项是为了直接打开全局变量的,例如$POST["varname"]可以直接通过$varname访问。

2. 添加php加载的模块。通过添加extensions=xxx.dll来实现,这样php就可以自动加载相应的模块。还需要指定需要加载的模块的路径,默认大部分模块的dll文件在PHP_PATH/ext下,所以把这个路径添加到PATH中即可,前文已经完成这个操作。

三.安装Nginx

直接解压nginx-1.0.4.zip到安装路径NGINX_PATH,启动ngix:

>cd NGINX_PATH
>nginx


Nginx的启动参数:

nginx -s signal 向Nginx主进程发送信号,signal取值:stop,quit,reopen,reload
nginx -c filename 用指定的配置文件来初始化nginx,默认是NGINX_PATH/conf/nginx.conf

四.Nginx和php配置

1. 在WIndows环境下,Nginx可以通过FaseCGI守护进程与php进行交互,这个守护进程是以php-cgi.exe的形式存在的。需要通过执行命令来运行这个进程:

php-cgi.exe -b 127.0.0.1:<port>


这样,php-cgi.exe就可以监听客户端的链接请求,但是这个打开一个命令行窗口。可以通过RunHiddenConsole工具来隐藏这个窗口,把RunHiddenConsole.zip解压至相应的目录RUNHIDDENCONSOLE_PATH。

2. 建立启动php-cgi进程的脚本。在任意路径下创建脚本文件并命名为start-php-cgi.bat,文件的内容:

@echo off
echo Starting PHP FastCGI...
RUNHIDDENCONSOLE_PATH/RunHiddenConsole.exe PHP_PATH/php-cgi.exe -b 127.0.0.1:9123


可以通过运行这个脚本启动php-cgi.exe。

3. 修改Nginx配置文件nginx.conf

在nginx.conf中,对于nginx的配置路径采用Cygwin的形式(例如,C:\hello\www的路径为:/cygwin/c/hello/www);对于php的路径直接采用本地路径(就是C:\hello\www的形式)。

location / {		#只访问主机名时,例如http://localhost
	root 	  html; #指定返回相应的文件
	index  index.html index.htm;
}

location ~\.php$ {	#采用RegExp进行匹配,访问以.php结尾的文件,即php文件,例如http://localhost/a.php
	fastcgi_pass 	127.0.0.1:9123;
	fastcgi_index 	index.php;
	#%PHP_FILE_PATH%是php文件存储的路径
	fastcgi_param SCRIPT_FILENAME %PHP_FILE_PATH%$fastcgi_script_name;
	include 		fastcgi_params;
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: