Windows下配置Nginx和PHP的步骤及测试
环境准备
在Windows环境下搭建Nginx和PHP的运行环境,通常用于本地开发或测试。Nginx作为一款轻量级的高性能Web服务器,与PHP结合时,主要通过FastCGI模式进行通信。本文将详细介绍在Windows系统下配置Nginx与PHP的完整步骤,并验证环境是否搭建成功。
1. 下载Nginx
访问Nginx官方网站(https://www.ipipp.com),下载适用于Windows的稳定版本压缩包。下载完成后,将压缩包解压到任意不带中文和空格的目录,例如 D:nginx。
2. 下载PHP
访问PHP官方网站的Windows下载页面(https://www.ipipp.com),下载Windows版的PHP压缩包。需要注意的是,由于Nginx是通过FastCGI模式与PHP连接,因此必须选择 Non Thread Safe (NTS) 版本的PHP。下载后将其解压到指定目录,例如 D:php。
配置PHP
在配置Nginx之前,先对PHP进行基础配置,使其能够作为FastCGI进程运行。
进入PHP解压目录
D:php,找到php.ini-development文件,将其复制并重命名为php.ini。使用文本编辑器打开
php.ini,修改以下关键配置项:
; 设置PHP扩展目录,根据实际解压路径修改 extension_dir = "D:/php/ext" ; 开启必要的扩展,去掉前面的分号(;) extension=curl extension=gd2 extension=mbstring extension=mysqli extension=pdo_mysql ; 设置时区 date.timezone = Asia/Shanghai ; 关闭路径信息修正(Nginx环境下建议关闭以防安全漏洞) cgi.fix_pathinfo=0
配置Nginx
Nginx的配置文件位于其安装目录下的 conf 文件夹中,文件名为 nginx.conf。使用文本编辑器打开该文件,进行如下修改以支持PHP文件的解析。
找到 server 配置块,修改 location / 和 location ~ .php$ 部分:
server {
listen 80;
server_name localhost;
# 设置网站根目录
root D:/nginx/html;
# 添加index.php为默认首页
index index.html index.htm index.php;
location / {
# 尝试直接读取文件,若不存在则转发给index.php处理
try_files $uri $uri/ /index.php?$query_string;
}
# 配置PHP的FastCGI转发
location ~ .php$ {
fastcgi_pass 127.0.0.1:9000;
fastcgi_index index.php;
# 使用$document_root变量动态获取网站根目录
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
include fastcgi_params;
}
}在上述配置中,fastcgi_pass 指定了PHP-CGI监听的IP和端口,需与PHP启动时的端口保持一致。$document_root 变量对应前面设置的 root 指令的值,确保Nginx能将请求的脚本绝对路径正确传递给PHP。
启动与测试服务
1. 启动PHP-CGI
打开命令提示符(CMD),进入PHP的解压目录,执行以下命令启动FastCGI进程:
D: cd D:php php-cgi.exe -b 127.0.0.1:9000
执行该命令后,命令行窗口会处于挂起状态,这表示PHP-CGI已开始在9000端口监听,不要关闭该窗口。若需要后台运行,可使用 RunHiddenConsole 等工具辅助启动。
2. 启动Nginx
打开一个新的命令提示符窗口,进入Nginx的解压目录,执行启动命令:
D: cd D:nginx start nginx
如果需要重新加载配置文件,可以使用 nginx -s reload 命令;若需停止服务,使用 nginx -s stop 或 nginx -s quit 命令。
3. 测试PHP环境
在Nginx的网站根目录(此处配置为 D:/nginx/html)下,新建一个文本文件,命名为 phpinfo.php。使用编辑器打开该文件,写入以下PHP代码:
<?php phpinfo(); ?>
保存文件后,打开浏览器,在地址栏中访问 http://localhost/phpinfo.php。如果环境配置正确,浏览器将显示PHP的配置信息页面,其中包含了PHP版本、加载的扩展以及服务器的环境变量等详细信息。这标志着Nginx与PHP在Windows下的配置已经成功。
常见问题排查
502 Bad Gateway错误:通常是因为PHP-CGI进程未启动,或者监听的端口与Nginx配置的
fastcgi_pass端口不一致。请检查PHP-CGI窗口是否正在运行,并确认端口为9000。404 Not Found错误:检查网站根目录路径是否正确,以及
phpinfo.php文件是否真正存在于该目录中。同时检查SCRIPT_FILENAME参数是否使用了$document_root。访问时下载PHP文件而非执行:说明Nginx未正确将
.php后缀的请求转发给FastCGI,请检查location ~ .php$配置块是否被正确取消注释并配置。
遵循以上步骤,开发者可以快速在Windows系统下构建出稳定可靠的Nginx与PHP运行环境,为后续的Web应用开发与调试奠定基础。