• 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。双击运行就可以了。
  • 相关阅读:
    2019年春第八周作业
    2019 第七周作业
    2019 第六周作业
    2019 第五周作业
    2019 第四周作业
    2019 第三周作业
    2019 第二周作业
    2019第一周编程总结2
    2019第一周编程总结1
    秋季学期学习总结
  • 原文地址:https://www.cnblogs.com/chenqianpeng/p/2735891.html
Copyright © 2020-2023  润新知