美文网首页php技术
Windows下配置Nginx+php7

Windows下配置Nginx+php7

作者: d394af621d4c | 来源:发表于2016-04-21 12:07 被阅读2977次

    1.准备工作

    2.软件安装

    • Nginx

      Nginx本身就是绿色软件,下载zip安装包解压后,双击nginx.exe就可以运行

      我的nginx放置的目录为:C:\lish\Program\nginx-1.9.15

      双击后在刘浏览器打开 http://127.0.0.1 即可以看到欢迎页面

    Nginx欢迎页面
    • PHP

      PHP也是绿色软件,下载zip安装包解压即可

      我的PHP放置的目录为:C:\lish\Program\php-7.0.5

    3.环境配置

    准备一个文件夹,作为网站的根目录,这个在下面的配置文件中会多次用到,我的网站根目录为:C:\lish\Program\htdoc

    • Nginx

    在Nginx根目录下找到conf目录,编辑器打开nginx.conf

    1.找到这个配置块,

    location / {,
    root html;
    index index.html index.htm;
    }

    修改为:

    location / {,
    root C:\lish\Program\htdoc;
    index index.html index.htm;
    }

    2.找到这个配置块

    #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;改为root D:/wnmp/www;。再把/scripts改为$document_root,这里的$document_root就是指前面“root”所指的站点路径,这是改完后的:

    location ~ .php$ {
    root C:\lish\Program\htdoc;
    fastcgi_pass 127.0.0.1:9000;
    fastcgi_index index.php;
    fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
    include fastcgi_params;
    }

    • PHP

      1. 在php根目录下找到php.ini-development文件,复制一份在当前目录并且重命名为php.ini

      2.记事本打开php.ini,找到 “;cgi.fix_pathinfo=1”,去掉全面的分好,也就是说打开这条注释。

    4.运行与测试

    • 配置原理

      在这里,我简单说说配置的原理,因为nginx是一个反向代理的web服务器,因此它其实必须依赖一个真正的web服务器才能执行动态的网页内容,因此这里php就是使用fastcgi来充当这个真正的web服务器,它运行在9000端口上,这也是为什么nginx.conf中有这样一句fastcgi_pass 127.0.0.1:9000;,知道这个原理后,下面的思路就很明确了,打开fastcgi,然后再打开nginx就行了

    • 打开nginx

      这个没啥好说的,双击nginx.exe就打开了,上文中已经提到了

    • 打开fastcgi

      在命令行中,cd到php的home目录,然后执行如下命令:

      php-cgi.exe -b 127.0.0.1:9000 -c php.ini

    • 测试

      在 C:\lish\Program\htdoc 下新建一个info.php文件,输入如下内容:

    <?php
    phpinfo
    ?>

    打开浏览器,输入 http://127.0.0.1/info.php,这时候可以看到如下页面了:

    PHP INFO 页面

    5.补充

    执行了php-cgi.exe -b 127.0.0.1:9000 -c php.ini之后,控制台就一直开着,很不方便。
    这个时候可以使用 RunHiddenConsole.zip 来得以补充

    然后复制到nginx目录,新建两个bat批处理文件,start.bat和stop.bat

    start_nginx.bat:

    @echo off
    REM set PHP_FCGI_CHILDREN=5
    set PHP_FCGI_MAX_REQUESTS=1000
    echo Starting PHP FastCGI…
    RunHiddenConsole C:/lish/Program/php-7.0.5/php-cgi.exe -b 127.0.0.1:9000 -c C:/lish/Program/php-7.0.5/php.ini
    echo Starting nginx…
    RunHiddenConsole C:/lish/Program/nginx-1.9.15/nginx.exe -p C:/lish/Program/nginx-1.9.15/nginx

    stop_nginx.bat:

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

    nginx的目录此时大概是这样子:

    nginx目录结构

    保存两个文件,点击start_nginx.bat:启动nginx和php!这时候Ctrl+Alt+Del可以看到:

    程序运行状态

    打开浏览器,输入 http://127.0.0.1/info.php,这时候同样可以看到刚才的目录。

    相关文章

      网友评论

      本文标题:Windows下配置Nginx+php7

      本文链接:https://www.haomeiwen.com/subject/swstrttx.html