兔八哥极品软件园    运行: 4492天 | 文章:640 篇 | 评论:505 条 | 碎语:1条

WNMP——PHP集成环境快速搭建(六)

作者:admin 发布于:2013-12-6 10:45 Friday 分类:网络转载


一、安装WNMP

很久没折腾过windows本地php环境了,以前都是用apache,当时在本机win系统上搭建php环境用的WampServer:

http://www.wampserver.com/en/

但是现在的环境基本都是Nginx了,现在手里除了一个虚拟主机无奈用的apache,其他几个vps基本都是自己装的LNMP。最近在看php框 架想本地搭建个环境,准备用Nginx,随便搜了一圈试用了几个,感觉用下来“Windows, Nginx, MariaDB & PHP(Wnmp)”这个比较给力,完全可以说秒杀其他:
1.php版本新,貌似新php源码很多不支持php5.3以前版本了。
2.有图形界面,使用非常方便。
3.最近一次更新在半个月前。

作者网站和软件介绍:

https://www.x64architecture.com/
http://wnmp.x64architecture.com/

下载地址:

https://bitbucket.org/x64architecture/windows-nginx-mysql-php/downloads
http://sourceforge.net/projects/wnmp-env/

最新文件版本:
Wnmp 2.0.2.9.exe
组件版本:
Nginx 1.5.6
MariaDB 5.5.33a
PHP 5.4.20 (Non Thread Safe + FastCGI)
phpMyAdmin 4.0.7

安装过程略。

我选的安装位置是C:\Wnmp,安装结束后运行C:\Wnmp\Wnmp.exe打开控制台:
wnmp

单击Start all启动所有服务。

如果启动后Nginx状态又变为X则单击Nginx右边的Logs-error.log,查看错误日志,一般是端口80或 443被占用,用netstat -aon|findstr “80″或netstat -aon|findstr “443″查看占用端口程序的pid,然后打开任务管理器,查看-选择列-勾选PID,找到占用端口程序后,到该程序设置里面修改端口或者直接结束进程。

现在可以打开默认网站http://localhost了,文件位于:C:\Wnmp\html

数据库root用户默认密码“password”,修改密码方法:


    cd C:\Wnmp\mariadb\bin
    mysqladmin -u root -p password newpassword
    #然后输入原来密码password即可修改root密码

二、Nginx多站点配置:

在C:\Wnmp\conf文件夹下新建两个文件夹:rewrite和vhost,分别放每个站点的rewrite规则和Nginx站点配置文件。

如现在要添加一个网站使用test.local和www.test.local域名及C:\Wnmp\html\wnmp.local文件夹,并且 子域名(除www)自动关联子文件夹,如a.test.local对应C:\Wnmp\html\wnmp.local\a文件夹。

1.域名解析,由于是本地测试,直接修改hosts,添加下面三行。

127.0.0.1 test.local
127.0.0.1 www.test.local
127.0.0.1 a.test.local

2.新建文件夹和文件,建立C:\Wnmp\html\wnmp.local和C:\Wnmp\html\wnmp.local\a两个文件夹,分别新建内容为test.local和a.test.local的index.htm首页文件进行测试。

3.修改nginx全局配置文件C:\Wnmp\conf\nginx.conf,在# http server下面加一行:

  1. include vhost/*.conf;

4.在rewrite文件夹下新建wnmp.local.rewrite.conf文件。内容可以为空或者nginx的rewrite规则,如wordpress的:

    location / {
    if (-f $request_filename/index.html){
    rewrite (.*) $1/index.html break;
    }
    if (-f $request_filename/index.php){
    rewrite (.*) $1/index.php;
    }
    if (!-f $request_filename){
    rewrite (.*) /index.php;
    }
    }

5.在vhost文件夹下新建wnmp.local.conf,参考内容如下:

        server {
        listen 80;
        server_name wnmp.local www.wnmp.local;
        index index.html index.htm index.php;
        access_log off;
        error_log nul;
        set $subdomain '';
        if ( $host ~* "(?:(\w+\.){0,})(\b(?!www\b)\w+)\.\b(?!(com|org|gov|net|cn)\b)\w+\.[a-zA-Z]+" ) { set $subdomain "/$2"; }
        root html/wnmp.local$subdomain;
        include rewrite/wnmp.local.rewrite.conf;
        location ~ \.php$ {
        root html/wnmp.local$subdomain;
        try_files $uri =404;
        fastcgi_pass 127.0.0.1:9000;
        fastcgi_index index.php;
        fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
        include fastcgi_params;
        }
        }

有点疑问就是server_name是否要改成server_name wnmp.local www.wnmp.local *.wnmp.local;
因为测试貌似没啥问题所以没改。。。

子域名部分用了http://amysql.com/AMH.htm中的代码,不需要子域名绑定注释掉if ( $host ~* “(?:(\w+\.){0,})(\b(?!www\b)\w+)\.\b(?!(com|org|gov|net|cn)\b)\w+\.[a-zA-Z]+” ) { set $subdomain “/$2″; }一行即可。

6.重启Nginx,查看是否报错。

现在可以打开http://localhost,http://www.test.local,http://test.local,http://a.test.local测试了。

转载于:http://nufeng.net/build-wnmp-multi-site-environments/

标签: WNMP


Powered by 兔八哥极品软件 苏ICP备12049267号 sitemap