读书人

Windows 上 Nginx + PHP5 的安装与配置

发布时间: 2012-09-24 13:49:42 作者: rapoo

Windows 下 Nginx + PHP5 的安装与配置
安装 PHP5

首先,从 http://windows.php.net/download/ 下载最新的 PHP 5.3 Windows 版本,这里 PHP 以 FastCGI 模式运行,所以请下载 None Thead Safe 版本。

解压至 C:\php5,把压缩包中的 php.ini-recommended,更名为 php.ini,然后打开修改几个选项:

php.conf 配置文件:

123456789101112
# 连接到本机 9000 端口,这里的端口是指 PHP FastCGI Server 开启的端口,# 请与 php-cgi.exe 开启的端口保持一致# 当 Nginx 收到 php 文件的请求时,会自动转发到 PHP FastCGI Serverfastcgi_pass    127.0.0.1:9000;fastcgi_index   index.php;?# Nginx 默认是不支持 CGI PATH_INFO,SCRIPT_NAME 的值也不标准(糅合了 PATH_INFO)# 下面的两行指令,可以从 SCRIPT_NAME 中剥离出 PATH_INFOfastcgi_split_path_info     ^(.+\.php)(.*)$;fastcgi_param PATH_INFO     $fastcgi_path_info;?include   fastcgi_params;

创建一个独立的 php.conf 保存配置,纯粹是为了精简 nginx.conf,个人习惯而已,也可以全部写在主配置文件中。

修改 php.ini,设置 cgi.fix_pathinfo = 1,这非常重要,PHP 会修正 SCRIPT_FILENAME 为真实的文件地址,否则 PHP 将无法找到需要处理的 php 文件。

一些其他的设置,主服务器:

1234567891011121314
# 默认开启的进程数worker_processes  1;?error_log  logs/error.log;#error_log  logs/error.log  notice;#error_log  logs/error.log  info;?#pid        logs/nginx.pid;?events {# 一个进程所处理的最大连接数上限,# 本地开发,不需要默认的 1024,这里改为 64    worker_connections  64;}

当某个目录下面不存在默认 index.php index.html 等首页文件时,Nginx 会抛出 403 ERROR,如果你需要罗列此目录,则可以在 http {… } 中加入如下命令:

123
autoindex on;autoindex_exact_size on;autoindex_localtime on;
OK,整合到一起

创建 start_nginx.bat,用于同时启动 PHP FastCGI 和 Nginx:

123456789101112
@echo offREM Windows 下无效REM set PHP_FCGI_CHILDREN=5REM 每个进程处理的最大请求数,或设置为 Windows 环境变量set PHP_FCGI_MAX_REQUESTS=1000?echo Starting PHP FastCGI...RunHiddenConsole C:/php5/php-cgi.exe -b 127.0.0.1:9000 -c C:/php5/php.ini?echo Starting nginx...C:/nginx/nginx.exe -p C:/nginx

RunHiddenConsole.exe 是一个用来隐藏 DOS 窗口的小程序,可以在这里下载。
start_nginx.bat 开启后,也会有 DOS 窗口,但是可以安全的关掉,并不会关闭 Nginx 和 php-cgi.exe。

同样 stop_nginx.bat,用来关闭:

123456
@echo offecho Stopping nginx...taskkill /F /IM nginx.exe > nulecho Stopping PHP FastCGI...taskkill /F /IM php-cgi.exe > nulexit

到这里基本配置完毕了。

1 楼 vb2005xu 2012-08-09 http://www.phpvim.net/web/php/build-php5-4-and-xdebug-on-win32.html 2 楼 vb2005xu 2012-08-14 http://www.phpvim.net/web/php/script-for-php-buildin-fcgi-server.html 3 楼 vb2005xu 2012-08-15 winbinder

读书人网 >PHP

热点推荐