Windows下搭建Nginx+PHP(FastCGI)平台

给公司写的门户一期方案,服务器采用Linux+Nginx+PHP(FastCGI)+MYSQL搭建,被采用了。 
而本地没有现成的环境,服务器也需要好几天才能配置好,就需要本地先搭起一个平台来测试。
开发环境是Windows,那就在Windows下搭建吧。

总体而言,Windows的搭建非常简单。

首先是安装PHP。
我本地原来安装过了PHP5.2.11了。没安装过的也类似,官方网站下载一个Windows的二进制包就行了。
直接运行PHP5.2.11安装文件,然后选择修改,下一步 ,选择Other CGI,出现选择安装的扩展,
我选择了GD2、Mysql、Mysqli、PDO、PDO_MYSQL。下一步,安装,安装完成。 
 
然后以FastCGI方式运行PHP
由于php自带php-cgi.exe,在命令行下运行就是了。
php-cgi.exe -b 127.0.0.1:9000
弹出一个命令行窗口,注意不要关(下面在说解决办法) 。

接着安装Nginx
官方网站上有现成的Windows安装包,直接下来就是了
Nginx 的中文维基 http://wiki.nginx.org/NginxChs
稳定安全方面考虑采用的版本为当前稳定本Nginx/windows 0.7.63 (更新记录) (2009年10月26日)
下载下来是一个压缩包,直接解压拷贝到某个目录就行了,
我安装在D:\nginx-0.7.63 
双击nginx.exe,就运行了,不需要安装。 
我是安装在D:\nginx-0.7.63
然后浏览器里输入http://localhost/ 显示
 
Welcome to nginx!
 
表示Nginx正常运行了。

配置Nginx
我的站点跟目录是D:/www目录。
配置不是很复杂就不做注释了
D:\nginx-0.7.63\conf下的nginx.conf,记事本打开。
找到 
#pid        logs/nginx.pid; 
去掉前面的注释
找到
        location / {
            root   html;
            index  index.html index.htm;
        }
 
修改成
        location / {
            root   D:/www;
            index  index.html index.htm index.php;
        }  
找到
#location ~ \.php$ {
#    root           html;
#    fastcgi_pass   127.0.0.1:9000;
#    fastcgi_index  index.php;
#    fastcgi_param  SCRIPT_FILENAME  /scripts$fastcgi_script_name;
#    include        fastcgi_params;
#} 
 
前面的注释去掉,修改成 
        location ~ \.php$ {
            root           D:/wwwroot;
            fastcgi_pass   127.0.0.1:9000;
            fastcgi_index  index.php;
            fastcgi_param  SCRIPT_FILENAME  D:/wwwroot/$fastcgi_script_name;
            include        fastcgi_params;
        }
 
重启Nginx
由于修改了Nginx的配置文件,需要重新加载配置文件。 
nginx -s reload
nginx的另外几个命令参数
nginx -s stop //暂停
nginx -s quit //退出nginx
这上面的几个命令需要 #pid        logs/nginx.pid; 前的注释去掉,且logs/nginx.pid文件中保存了当前的nginx进程的pid才有效。
其他几个小技巧
用cmd命令行强制结束进程命令
taskkill /F /IM nginx.exe > nul  (有时候结束nginx,这个命令更管用)
就可以关闭所有的nginx进程了。 
关闭fastcgi的命令类似
taskkill /F /IM php-cgi.exe > nul 
在网站根目录,放一个phpinfo文件,不出错就可以看到当前网站的配置信息了。
 
解决fastcgi方式运行php时的cmd窗口问题。
方法很简单用vbs脚本来启动就能解决。这个方法比网上借助第三方小软件(例如RunHiddenConsole.exe)简单的多
具体代码
 
set wscriptObj = CreateObject("Wscript.Shell")
wscriptObj.run "php-cgi.exe -b 127.0.0.1:9000",0
 
保存你到php目录,命名成start_fastcgi.vbs。双击运行就可以了。
 
 
 

引用通告地址: 点击获取引用地址
标签: Nginx
评论: 107 | 引用: 0 | 阅读: 24848
更多




Phyllis [ 2022-01-18 01:58 网址 | 回复 | 编辑 删除 ]
Lisa [ 2022-01-11 08:44 网址 | 回复 | 编辑 删除 ]
Parker [ 2022-01-01 17:02 网址 | 回复 | 编辑 删除 ]
Cody [ 2021-12-28 07:49 网址 | 回复 | 编辑 删除 ]
Holder [ 2021-12-28 01:34 网址 | 回复 | 编辑 删除 ]
Robert [ 2021-12-18 21:38 网址 | 回复 | 编辑 删除 ]
Cody [ 2021-12-09 02:07 网址 | 回复 | 编辑 删除 ]
Darleen [ 2021-12-07 04:10 网址 | 回复 | 编辑 删除 ]
Lisa [ 2021-11-27 15:21 网址 | 回复 | 编辑 删除 ]
Bynoe [ 2021-11-25 04:51 网址 | 回复 | 编辑 删除 ]
发表评论
昵 称: 密 码:
网 址: 邮 箱:
验证码: 验证码图片 选 项:
头 像:
内 容:
  • 粗体
  • 斜体
  • 下划线
  • 插入图像
  • 超链接
  • 电子邮件
  • 插入引用