Windows下配置Nginx+PHP环境教程
在Windows环境下进行Web开发时,经常需要配置基于Nginx和PHP的运行环境。本文将指导您完成从PHP安装到Nginx配置的全过程,包括关键参数的设置以及实现无窗口后台运行的技巧。
准备条件
首先,需要准备PHP的二进制包(如php-cgi.exe)和Nginx的Windows版本安装包。确保下载的是适合Windows系统的二进制文件而非源码。
配置PHP
如果尚未安装PHP,请运行安装包选择“Other CGI”模式,并根据需要启用GD2、MySQL、Mysqli、PDO等相关扩展。安装完成后,PHP即可通过cgi模式提供服务。
启动PHP-CGI服务
目的:以FastCGI方式运行PHP,监听本地请求。
操作:打开命令行工具,进入PHP安装目录。
命令:
php-cgi.exe -b 127.0.0.1:9000
此时会弹出一个命令行窗口显示运行状态,请勿关闭该窗口,否则PHP服务将停止。后续章节将介绍如何隐藏此窗口。
安装与基础配置Nginx
Nginx无需安装程序,解压即用。假设将其解压至D:\nginx-0.7.63。
验证Nginx运行状态
入口:双击nginx.exe。
检查:在浏览器访问 http://localhost/,若看到 Welcome to nginx! 页面,说明Nginx已正常启动。
修改站点根目录
入口:编辑conf\nginx.conf文件。
动作:定位到location / { ... }区块。
参数:
- root:修改为实际的网站根目录,例如
D:/www。 - index:添加
index.php以支持默认主页解析。
修改后的代码片段如下:
location / {
root D:/www;
index index.html index.htm index.php;
}
启用PHP-FastCGI解析
入口:继续在 conf\nginx.conf 中查找被注释的 location ~ \.php$ { ... } 区块。
动作:取消注释并修改路径指向。
- 保持 fastcgi_pass 127.0.0.1:9000; 不变。
- root:确保与上方设置的根目录一致(注意原文此处为wwwroot,需根据实际路径统一)。
- fastcgi_param SCRIPT_FILENAME:这是关键参数,必须修正为当前根目录路径,例如
D:/wwwroot/$fastcgi_script_name;或$document_root$fastcgi_script_name;。
完整的启用代码如下:
location ~ \.php$ {
root D:/www;
fastcgi_pass 127.0.0.1:9000;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
include fastcgi_params;
}
注:原文使用了绝对路径 D:/wwwroot,建议根据您的实际项目路径调整,也可使用变量 $document_root 以避免硬编码带来的维护问题。
重新加载配置
操作:配置生效后,重新加载Nginx配置使其生效。
前提:确保 #pid logs/nginx.pid; 这一行的注释已被去除,且 logs 目录下有对应的PID文件。
命令:
nginx -s reload
高级技巧:后台运行与进程管理
直接使用命令行启动PHP-CGI会产生弹窗,且手动关闭进程较为繁琐。以下提供VBS脚本方法和CMD命令。
通过VBS脚本后台启动PHP
目的:静默启动PHP-CGI,不弹出黑色命令行窗口。
操作:在PHP安装目录下新建文本文件,输入以下内容并保存为 start_fastcgi.vbs:
set wscriptObj = CreateObject("Wscript.Shell")
wscriptObj.run "php-cgi.exe -b 127.0.0.1:9000",0
双击运行此VBS文件即可在后台开始工作,且不会遮挡屏幕。
强制结束相关进程
若常规方法无法关闭服务,可使用任务管理器命令强制终止:
- 停止Nginx:
taskkill /F /IM nginx.exe > nul - 停止PHP-CGI:
taskkill /F /IM php-cgi.exe > nul
检查环境配置
在网站根目录下创建一个包含 <?php phpinfo(); ?> 的PHP文件并访问,可以查看当前PHP和Nginx交互的详细配置信息,用于排错验证。
以上就是在Windows下配置Nginx + PHP的详细内容,更多关于服务器环境搭建的资料请关注本站其它相关文章!
本站声明
本文内容仅供参考,不代表本站观点。转载或引用请注明出处。如发现内容问题,请通过联系我们页面反馈。













