zoukankan      html  css  js  c++  java
  • window+nginx+php

    今天在Windows上配置了下nginx,看了不少其他大牛们记录的博客,自己也操作了一番,记录一下备忘。

    nginx download: http://nginx.org/en/download.html
    php download: http://php.net/

    windows下nginx+php的安装配置如下:
    1、安装php(D:/php)
    2、配置php.ini

        extension_dir = "./ext"; 更改为 extension_dir = "D:/php/ext";
        去掉如下两句的注释符,这两句是php连接mysql的必须链接库
        ;extension=php_mysql.dll
        ;extension=php_mysqli.dll
        去掉下句的注释符
        ;cgi.fix_pathinfo=1    
    

    3、安装nginx(D:/nginx)

    4、配置nginx.conf
        打开D:/nginx/conf/nginx.conf,找到

        # pass the PHP scripts to FastCGI server listening on 127.0.0.1:9000
        #
        #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;
        #}
    

        先将前面的“#”去掉

        root  html;     //该句表示站点根目录,可以更换为你想要的目录

      再把标记为红色的/scripts改为“$document_root”,这里的“$document_root”就是指前面“root”所指的站点路径,当然也可以更换为绝对路径。这是改完后的:

        # pass the PHP scripts to FastCGI server listening on 127.0.0.1:9000
        #
        location ~ .php$ {
             root           html;
              fastcgi_pass   127.0.0.1:9000;
              fastcgi_index  index.php;
              fastcgi_param  SCRIPT_FILENAME  $document_root$fastcgi_script_name;
              include        fastcgi_params;
        }
    

        输入如下命令启动phpcgi:
        D:/php/php-cgi.exe -b 127.0.0.1:9000 -c D:/php/php.ini    
        然后启动nginx,即nginx目录下的nginx.exe。

        为了方便你也可以自己写一个bat脚本来快速执行以上命令,代码如下:
        启动脚本:

        @echo off  
        REM Windows 下无效  
        REM set PHP_FCGI_CHILDREN=5  
     
        REM 每个进程处理的最大请求数,或设置为 Windows 环境变量  
        set PHP_FCGI_MAX_REQUESTS=1000  
       
        echo Starting PHP FastCGI...
        RunHiddenConsole D:/xampp/php/php-cgi.exe -b 127.0.0.1:9000 -c D:/xampp/php/php.ini  
       
        echo Starting nginx...  
        D:/nginx-1.5.5/nginx.exe 
    

        停止脚本:

      @echo off  
      echo Stopping nginx...  
      taskkill /F /IM nginx.exe > nul  
      echo Stopping PHP FastCGI...  
      taskkill /F /IM php-cgi.exe > nul  
      exit 
    

    其中RunHiddenConsole.exe为隐藏命令提示符窗口的一个工具。以上执行以后窗口可以关闭,nginx、phpcgi服务会在后台执行。

    RunHiddenConsole.exe下载地址http://pan.baidu.com/share/link?shareid=364654&uk=2819113184跟脚本放到同一个目录下

    =============================

    在配置的时候出现了一个问题,对于新手来说估计有写也会遇到这个问题,当然网上也有很多的答案,这里记录一下解决方案。
        问题:出现No input file specified问题
        (1) 路径不合

        root     html;
        fastcgi_param  SCRIPT_FILENAME  $document_root$fastcgi_script_name;
    

        (2)配置不当

      在php.ini(/usr/local/php/etc/php.ini)的配置中中找到
         cgi.fix_pathinfo=0; 将其改成cgi.fix_pathinfo=1

    我是一个nginx菜鸟,入门都不算,如果哪位路过的大牛有好的教程或资料,望能够分享一下,3Q。[505600376@qq.com]

  • 相关阅读:
    程序员的自我修养 符号修饰 函数签名 以及一个引申的问题: extern "c"
    Spring.NET学习笔记(1)基本依赖注入
    Spring.NET学习笔记(3)注册事件注入
    Spring.NET学习笔记(2)依赖注入细节
    jQuery LigerUI 使用教程入门篇
    Spring.NET学习笔记(5)对象生命周期和创建者对象
    【C#.NET】C#皮肤与主题应用实例
    【VB/C#】Kill进程
    【C#.NET】C#用户控件的使用
    【C#.NET】C#创建多语言网站
  • 原文地址:https://www.cnblogs.com/MonkeyF/p/3348721.html
Copyright © 2011-2022 走看看