Windows下配置Nginx+php7

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,这时候同样可以看到刚才的目录。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容