Windows下配置Nginx+php7

1.准备工作

Windows操作系统

Nginx

下载地址:http://nginx.org/en/download.html

选择一个最新版下载即可,我下载的是nginx/Windows-1.9.15

PHP

下载地址:http://php.net/downloads.php

(nginx下php是以FastCGI的方式运行,所以我们下载非线程安全也就是nts的php包)

选择一个PHP7的最新版下载即可,我下载的是php-7.0.5-nts-Win32-VC14-x64

2.软件安装

Nginx

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

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

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

Windows下配置Nginx+php7_第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

在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文件,输入如下内容:


phpinfo

?>

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

Windows下配置Nginx+php7_第2张图片

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的目录此时大概是这样子:

Windows下配置Nginx+php7_第3张图片

nginx目录结构

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

Windows下配置Nginx+php7_第4张图片

程序运行状态

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

你可能感兴趣的:(Windows下配置Nginx+php7)