windows下配置nginx+php7

第一步:下载nginx

nginx官网下载合适的版本。

将下载的压缩包解压到合适的位置(我这里放到了F盘下,并将目录名称修改为nginx)。

第二步:下载php7

从php官网下载适合自己本地的版本 下载地址http://windows.php.net/download#php-7.0

下载后解压到合适位置(我解压到了F盘下,并将目录修改为nginx)

第三步:运行nginx

进入nginx目录,双击运行nginx。

OK,现在用浏览器打开localhost或127.0.0.1看看是否出现以下界面

27092447-29b571cb23e04b918866519cdf4216ba

如果出现表示运行成功

第四步:配置nginx

进入nginx目录下的conf目录,使用编辑器打开nginx.conf(这是nginx的配置文件)

在43行到46行中

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

修改网站路径及添加index.php默认页

location / {
           root   D:/www/demo;
           index  index.html index.htm inde.php;
       }

第63到71行

# 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为网站目录再把“/scripts”改为“$document_root”,这里的“$document_root”就是指前面“root”所指的站点路径如下

location ~ \.php$ {
    root           D:/www/demo;
    fastcgi_pass   127.0.0.1:9000;
    fastcgi_index  index.php;
    #fastcgi_param  SCRIPT_FILENAME  /scripts$fastcgi_script_name;
    fastcgi_param  SCRIPT_FILENAME  $document_root$fastcgi_script_name;
    include        fastcgi_params;
}

第五步:配置PHP7

将php目录下的php.ini-development重命名为php.ini

运行

F:\php\>php-cgi.exe -b 127.0.0.1:9000-c F:\php\php.ini

重新运行nginx

在D:\www\demo下新建一个phpinfo.php文件

<?php
phpinfo();

 

浏览器中访问http://localhost/phpinfo.php和http://127.0.0.1/phpinfo.php

27142300-e4a59501ef47469188cd8d24ab3e64f5

现在PHP已经可以正常运行了

第六步:创建启动批处理文件

首先先下载RunHiddenConsole.exe软件

创建nginx和PHP-cgi启动文件保存为start.bat

@echo off
echo Starting PHP FastCGI...
F:\RunHiddenConsole.exe F:\PHP\php-cgi.exe -b 127.0.0.1:9000-c F:\PHP\php.ini
echo Starting nginx...
F:\RunHiddenConsole.exe F:/nginx/nginx.exe -p F:/nginx

创建php-cgi和nginx停止文件 保存为stop.bat

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

补充:

有时候PHP-CGI会自动关掉,很可能请求数超过了规定的最大请求数造成的,我们可以将start.bat的内容修改为以下内容

@echo off
set PHP_FCGI_MAX_REQUESTS=0
echo Starting PHP FastCGI...
F:\RunHiddenConsole.exe F:\PHP\php-cgi.exe -b 127.0.0.1:9000-c F:\PHP\php.ini
echo Starting nginx...
F:\RunHiddenConsole.exe F:/nginx/nginx.exe -p F:/nginx

将最大请求数 PHP_FCGI_MAX_REQUESTS 设置为0