windows下nginx+php+mysql搭建wnmp平台

nginx下载地址:http://nginx.org/en/download.html 下载windows版本包

php下载地址:http://windows.php.net/download/  下载windows版本包

mysql的下载与安装我们这里就不做详解了,大家肯定都会

RunHiddenConsole下载:自己百度个吧,可以方便的启动和停止nginx



nginx的运行php的模式与apache不同,其是以cgi模式的升级版,fast-cgi模式运行php的,并不像apache将php作为一个模块载入。



下面我们以D盘为实例对环境进行搭建,新建文件夹D:/wnmp

一、PHP的安装与配置
1、基本配置

将php安装包解压到D:/wnmp/php中

修改php.ini-recommended文件为php.ini

找到

extension_dir = "./ext"

更改为

extension_dir = "D:/wnmp/php/ext"

找到

;cgi.fix_pathinfo=1

我们去掉这里的分号改为,此处为开启php在cgi模式的pathinfo模式,cgi.fix_pathinfo,它是用来对设置cgi模式下为php是否提供绝对路径信息或PATH_INFO信息。没有这个参数之前php设置绝对路径PATH_TRANSLATED的值为SCRIPT_FILENAME,没有PATH_INFO值。设置这个参数为cgi.fix_pathinfo=1后,cgi设置完整的路径信息PATH_TRANSLATED的值为SCRIPT_FILENAME,并且设置PATH_INFO信息;如果设为cgi.fix_pathinfo=0则只设置绝对路径PATH_TRANSLATED的值为SCRIPT_FILENAME。

nginx默认是不会设置PATH_INFO环境变量的的值,需要php使用cgi.fix_pathinfo=1来完成路径信息的获取,但同时会带来安全隐患,需要把cgi.fix_pathinfo=0设置为0,这样php就获取不到PATH_INFO信息,那些依赖PATH_INFO进行URL美化的程序就失效了。

cgi.fix_pathinfo=1

再找到

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

去掉前面的分号开启php mysql的扩展

当然不要忘掉很重要的一步就是,把php目录下的libmysql.dll文件复制到C:\Windows目录下,也可以在系统变量里面指定路径,这样php就能使用mysql了。

二、nginx的配置

把下载好的nginx包解压到D:/wnmp/nginx文件夹里。接下来我们对nginx进行配置,让它能够和php协同工作。进入nginx的conf目录,打开nginx的配置文件nginx.conf,找到

server {
        listen       80; #监听的端口,若有冲突请改为别的
        server_name  localhost;
        ......
}

listen为服务器请求端口,若本地已安装其他服务器可更改下以免冲突

然后继续

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

 改为

location / {
      root    D:/wnmp/www;    这里是站点的根目录
      index  index.html index.htm; #默认首页
}

这样 www 即为我们网页源文件的存放目录,以后的脚本都是放在此文件夹里

再往下,找到下面的配置段

# 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;
#}

修改成下面所示即可

# pass the PHP scripts to FastCGI server listening on 127.0.0.1:9000
#
location ~ \.php$ {
      root           D:/wnmp/www;
      fastcgi_pass   127.0.0.1:9000; #fastcgi模式使用的端口
      fastcgi_index  index.php;
      fastcgi_param  SCRIPT_FILENAME  $document_root$fastcgi_script_name;
      include        fastcgi_params;
}

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

这里的fastcgi_pass是传递cgi请求的地址和端口,注意php以cgi模式启动时端口要相一致,否则php无法监听

三、快速启动

首先把下载好的RunHiddenConsole包解压到nginx目录内,RunHiddenConsole.exe的作用是在执行完命令行脚本后可以自动关闭脚本,而从脚本中开启的进程不被关闭。

创建脚本start.bat用来开启nginx和php的cgi模式

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

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

echo Starting PHP FastCGI...
RunHiddenConsole D:/wnmp/php/php-cgi.exe -b 127.0.0.1:9000 -c D:/wnmp/php/php.ini

echo Starting nginx...
RunHiddenConsole D:/wnmp/nginx/nginx.exe -p D:/wnmp/nginx

创建脚本stop.bat脚本用来关闭nginx

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


到此就可以了

在www下新建phpinfo.php文件,编辑

<?php
phpinfo();
?>

打开浏览器输入localhost/phpinfo.php

能看到php的配置即可

你可能感兴趣的:(PHP,nginx,windows,wnmp)