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 offREM 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 offecho Stopping nginx...  taskkill /F /IM nginx.exe > nulecho Stopping PHP FastCGI...taskkill /F /IM php-cgi.exe > nulexit

到此就可以了

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

<?php
phpinfo();
?>

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

能看到php的配置即可

分类:工作日志 时间:2015-05-12 人气:906
本文关键词: nginx PHP Windows wnmp
分享到:

相关文章

iOS 开发

Android 开发

Python 开发

JAVA 开发

开发语言

PHP 开发

Ruby 开发

搜索

前端开发

数据库

开发工具

开放平台

Javascript 开发

.NET 开发

云计算

服务器

Copyright (C) codeweblog.com, All Rights Reserved.

CodeWeblog.com 版权所有 闽ICP备15018612号

processed in 0.060 (s). 12 q(s)