WNMP环境搭建

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/ZDK_csdn/article/details/72395978

WNMP(Windows Nginx MySQL PHP)

转载请注明出处:http://blog.csdn.net/ZDK_csdn/article/details/72395978


1.准备

下载地址:http://download.csdn.net/detail/zdk_csdn/9845509

  • Windows 10 企业版
  • Nginx 1.10.3
  • MySQL 5.0.27
  • PHP Version 5.6.30
  • RunHiddenConsole
  • xxfpm

2.php安装配置

把下载好的php压缩包解压到(E:/software/WNMP),这里把解压出来的文件夹重命名成php5。进入文件夹修改php.ini-recommended文件重命名为php.ini,找到

extension_dir = "./ext"

更改为

extension_dir = "E:/software/WNMP/php5/ext"

往下看,再找到

;extension=php_mysql.dll
;extension=php_mysqli.dll

前面指定了php的ext路径后,只要把需要的扩展包前面所对应的“;”去掉,就可以了。这里打开php_mysql.dll和php_mysqli.dll,让php支持mysql。当然前提就是mysql已经安装配置好了。

到这里,php已经可以支持mysql了。

接下来我们来配置php,让php能够与nginx结合。找到

;cgi.fix_pathinfo=1

去掉前面的分号。
这一步非常重要,这里是php的CGI的设置。

3.nginx安装配置

把下载好的nginx-1.10.3的包同样解压到(E:/software/WNMP)目录下,并重命名为nginx。打开nginx目录,运行该文件夹下的nginx.exe

2.测试是否启动nginx。打开浏览器访问http://127.0.0.1,没有启动的话,看看80端口有占用没。
这里写图片描述

接下来配置nginx,让它能够和php协同工作。进入nginx的conf目录,打开nginx的配置文件nginx.conf,找到

location / {
      root   html;      #这里是站点的根目录
      index  index.html index.htm;
}

改为

location / {
      root   E:\software\WNMP\www;     #这里是站点的根目录
      index  index.html index.htm index.php;
}

再往下,找到

# 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;改为root E:/software/WNMP;。再把标记为红色的/scripts改为$document_root,这里的$document_root就是指前面“root”所指的站点路径,这是改完后的:

# pass the PHP scripts to FastCGI server listening on 127.0.0.1:9000
        #
        location ~ \.php$ {
             root          E:\software\WNMP\www;
            fastcgi_pass   127.0.0.1:9000;
            fastcgi_index  index.php;
            fastcgi_param  SCRIPT_FILENAME  $document_root$fastcgi_script_name;
            include        fastcgi_params;
            fastcgi_read_timeout 1d;
        }

保存配置文件,就可以了。

  nginx+php的环境就初步配置好了,来跑跑看。我们可以输入命令E:/software/WNMP/php5/php-cgi.exe -b 127.0.0.1:9000 -c E:/software/WNMP/php5/php.ini

来启动php,并手动启动nginx,当然也可以利用脚本来实现。

到站点目录下(E:\software\WNMP\www),新建一个phpinfo.php的文件,在里面编辑

<?php
    phpinfo();
?>

保存后,打开浏览器输入“http://localhost/phpinfo.php”,如果看到下图则说明成功了。
这里写图片描述

4.RunHiddenConsole

把下载好的RunHiddenConsole.zip包解压到(E:\software\WNMP)目录下,RunHiddenConsole.exe的作用是在执行完命令行脚本后可以自动关闭脚本,而从脚本中开启的进程不被关闭。然后来创建脚本,命名为“start.bat”,我们在Notepad++里来编辑它

@echo off
REM Windows 下无效
REM set PHP_FCGI_CHILDREN=5

REM 每个进程处理的最大请求数,或设置为 Windows 环境变量
set PHP_FCGI_MAX_REQUESTS=1000

echo Starting PHP FastCGI...
RunHiddenConsole E:/software/WNMP/php5/php-cgi.exe -b 127.0.0.1:9000 -c E:/software/WNMP/php5/php.ini

echo Starting nginx...
RunHiddenConsole E:/software/WNMP/nginx/nginx.exe -p E:/software/WNMP/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

5.xxfpm

这时你可能会发现一个问题,PHP-cgi.exe会在响应一段时间请求后自动挂掉。怎么解决呢?接下来就介绍一个神奇的东西—xxfpm进程管理器.

把下载下来的xxfpm放到(E:\software\WNMP)目录下。然后更改RunHiddenConsole目录下的start.bat和stop.bat。如下:

start.bat

@echo off
REM Windows 下无效
REM set PHP_FCGI_CHILDREN=5

REM 每个进程处理的最大请求数,或设置为 Windows 环境变量
set PHP_FCGI_MAX_REQUESTS=1000

echo Starting PHP FastCGI...
:RunHiddenConsole E:/software/WNMP/php5/php-cgi.exe -b 127.0.0.1:9000 -c E:/software/WNMP/php5/php.ini
RunHiddenConsole E:/software/WNMP/xxfpm/bin/xxfpm.exe "E:/software/WNMP/php5/php-cgi.exe -c E:/software/WNMP/php5/php.ini" -n 2 -i 127.0.0.1 -p 9000

echo Starting nginx...
RunHiddenConsole E:/software/WNMP/nginx/nginx.exe -p E:/software/WNMP/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
taskkill /F /IM xxfpm.exe > nul

exit

简单介绍一下
上面代码中的-n 2指的是开两个php-cgi.exe进程;
-p 9000指的是PHP通过9000端口传输;
:冒号代表注释的意思;
文件路径中斜杠要使用“/”而不能使用“\”;

ok,这个时候打开进程管理器你会发现开启了两个CGI进程。此时通过任务管理器CGI进程是关闭掉的,必须先关闭xxfpm.exe或者点击RunHiddenConsole目录下的stop.bat.

这里写图片描述

6.安装过程中可能会遇到的问题及解决

这里写图片描述
解决办法: 32位操作系统把MSVCR110.dll放入C:\Windows\System32目录下;64位操作系统把MSVCR110.dll放入C:\Windows\SysWOW64目录下。


没有更多推荐了,返回首页