windows环境下安装wnmp(windows+nginx+mariadb(mysql的新版)+php)体验

一直用wamp搭建本地的php运行环境,平时用的也还可以,,在vps中用的是lnmp,因为nginx比起apache在vps这样苛刻的环境中更省资源,最近在vps测试代码,在本地的apache和vps中的nginx有的地方都不一样,比如rewrite,就想找找看有没有本地的nginx开发环境,于是就找到了wnmp。起初以为wnmp不包含mysql,后来才知道mariadb就是mysql差不多,只是mysql被收购后为了防止闭源而衍生的新的一种名称而已,这样就可以延续mysql的优良基因了,不知道我这样说对不对。

废话少说,下载wnmp:www.getwnmp.org,安装后打开面板:

wnmp

这里可以控制php,nginx 的运行,首先介绍如何配置多个网站,vhost:

打开html,新建几个文件夹,如1,2,3,4,这里作为每个网站的根目录。

打开conf目录,这里是各种配置文件,新建目录vhost,新建一个文件:

web1.com.conf

# Begin HTTP Server
server {
    listen 80; # IPv4
    #--域名--By:blog.codeinto.com--
    server_name web1.com;

    ## Parametrization using hostname of access and log filenames.
    access_log logs/localhost_access.log;
    error_log logs/localhost_error.log;

    ## Root and index files.
    #--网站目录--By:blog.codeinto.com--
    root E:\Wnmp\html\1;
    index  index.php index.html index.htm;

    ## If no favicon exists return a 204 (no content error).
    location = /favicon.ico {
        try_files $uri =204;
        log_not_found off;
        access_log off;
    }
        
    ## Don't log robots.txt requests.
    location = /robots.txt {
        allow all;
        log_not_found off;
        access_log off;
    }
    ## Try the requested URI as files before handling it to PHP.
    location / {

        ## Regular PHP processing.
        location ~ \.php$ {
            try_files  $uri =404;
            fastcgi_pass   php_processes;
            fastcgi_index  index.php;
            fastcgi_param  SCRIPT_FILENAME    $document_root$fastcgi_script_name;
            include        fastcgi_params;
        }

        ## Static files
        location ~* \.(?:css|gif|htc|ico|js|jpe?g|png|swf)$ {
            expires max;
            log_not_found off;
            ## No need to bleed constant updates. Send the all shebang in one
            ## fell swoop.
            tcp_nodelay off;
            ## Set the OS file cache.
            open_file_cache max=1000 inactive=120s;
            open_file_cache_valid 45s;
            open_file_cache_min_uses 2;
            open_file_cache_errors off;
        }

        ## Keep a tab on the 'big' static files.
        location ~* ^.+\.(?:ogg|pdf|pptx?)$ {
            expires 30d;
            ## No need to bleed constant updates. Send the all shebang in one
            ## fell swoop.
            tcp_nodelay off;
        }
        } # / location

}

这就是一个网站了,你可以多新建几个这样的配置文件达到多个网站的目的。

编辑 conf/nginx.conf 在

server {
...
}

后添加 include  vhost/*.conf;

最后,我们要让web1.com指向本机,编辑hosts文件,添加一行:

127.0.0.1 web1.com

运行wnmp,输入web1.com 就可以访问了。


安装typecho:

编辑 conf/vhost/web1.com.conf:

    在 location / {  后添加:(typecho 的rewrite规则。)

    #--------------typecho---------------------
            index index.html index.php;
        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;
        }
 #--------------typecho---------------------

想要支持sqlite?,编辑php/php.ini :启用下面两行(移除前面的#)

extension=php_pdo_sqlite.dll
extension=php_sqlite3.dll

到此,wnmp的配置结束。以后遇到的问题会继续更新,保持关注!

添加新评论

icon_redface.pngicon_smile.pngicon_biggrin.pngicon_mrgreen.pngicon_question.pngicon_sad.pngicon_exclaim.pngicon_surprised.pngicon_eek.pngicon_confused.pngicon_cool.pngicon_lol.pngicon_mad.pngicon_wink.pngicon_arrow.pngicon_cry.png