1.php-cgi
网上大多教程都是要依靠php-fpm来进行解析php文件的,查了挺久后发现window下没有php-fpm,所以要使用php-cgi替代php-fpm,php-cgi.exe位于php安装目录下。
2.nginx配置
nginx需要对conf目录下的nginx.conf进行配置,路径根据自己实际来进行修改,location ~ .php$中的内容在nginx.conf默认是没有的,可以将这一段直接复制上去。
server {
listen 9000;
server_name localhost;
# root的路径为网页目录
root "c:/Software/htdocs";
location / {
index index.html index.php;
autoindex on;
}
# fastcgi_pass要与下面php-cgi的地址一样
location ~ \.php$ {
fastcgi_pass 127.0.0.1:9123;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
include fastcgi_params;
}
}
3.配置php-cgi并启动
参考的是:nginx官网的教程
3-1 下载RunHiddenConsole
通过RunHiddenConsole来启动php-cgi可以隐藏启动后的窗口,RunHiddenConsole下载链接。
下载后将RunHiddenConsole.exe随便放在一个目录下即可。
3-2 创建启动php-cgi的bat
创建一个start.bat文件,将下方的内容复制进去,下方的PATH修改成自己的路径,"-b 127.0.0.1:9123"这里的要和上面nginx中的配置的是一样才行。需要注意的是,php-cgi的端口不能和nginx的相同,避免冲突。
@ECHO OFF
ECHO Starting PHP FastCGI...
set PATH=C:\PHP;%PATH%
c:\bin\RunHiddenConsole.exe C:\PHP\php-cgi.exe -b 127.0.0.1:9123
保存后直接双击运行该文件可以启动php-cgi,这时nginx就可以解析php文件了。如果还是解析不了php文件,看一下任务管理器中是否有cgi这个进程,如果没有很可能是bat中的路径填写不正确的原因。
4.创建启动nginx和php-cgi的bat(可选)
可以创建一个bat文件来同时启动nginx和php-cgi,这样不用一个一个启动,上面第三步的bat也可以被这个替代。
bat的创建参考这个链接:超链接