WordPress站点网络初步探索

WordPress 3.0+版本支持MultiSite,站点网络功能,也就是安装一份Wordpress,就可以弄出多个WP站点来,就像新浪博客那样。

默认情况下可以支持sub-domain(二级域名)和sub-directory(子目录)两种方式。官方文档提供了Apache的配置方式,nginx的配置文档要在nginx官网找。试了一下sub-domain模式,非常简单。

方法是这样的:

1、准备工作

先确定你的站点支持Pretty Permalink,如果你按我之前说的方法写.conf文件,那么就是支持的。

到你的域名解析面板里面,加一个二级域名,比如site2.domain.com。

另外你可能需要把所有的插件都停用。

2、安装站点网络

修改wp-config.php,在/* 好了!请不要再继续编辑。请保存本文件。使用愉快! */的上面加这么一条:

define( 'WP_ALLOW_MULTISITE', true );

然后进到你的Wordpress后台去。你会发现在“工具”菜单里面多了一个“配置网络”,猛击点开它,填好一些项目后点“现在安装”。

有的人可能会被限制只能用sub-directory或者sub-domain,我这里就是只能用sub-domain,具体原因大概是和现有安装方式有关。比如要是你的WP安装在主站点的一个子目录,那就只能用sub-directory模式。

3、再次配置wp-config.php

现在页面上应该有两段提示。上一段就是告诉你怎么改wp-config的,大致是在/* 好了!请不要再继续编辑。请保存本文件。使用愉快! */的上方,加上这么几条:

define('MULTISITE', true);
define('SUBDOMAIN_INSTALL', true);
define('DOMAIN_CURRENT_SITE', 'www.doocoo.xyz');
define('PATH_CURRENT_SITE', '/');
define('SITE_ID_CURRENT_SITE', 1);
define('BLOG_ID_CURRENT_SITE', 1);

4、配置nginx

“配置网络”页面第二段提示的是修改Apache的方法,我们到nginx官网,参考这个页面下面Multisite的部分,修改站点的.conf文件(/etc/nginx/conf.d/site.conf)

      • 最上面添加
        map $http_host $blogid {
            default       -999;
        }
      • server_name改为
        server_name domain.com *.domain.com;

        你要是不嫌麻烦,罗列所有的xxx.domain.com也行。

      • 添加
        location ~ ^/files/(.*)$ {
            try_files /wp-content/blogs.dir/$blogid/$uri /wp-includes/ms-files.php?file=$1 ;
           access_log off; log_not_found off;expires max;
        }
        location ^~ /blogs.dir {
            internal;
            alias /var/www/example.com/htdocs/wp-content/blogs.dir;
            access_log off;     log_not_found off;      expires max;
        }

好了,保存,退出,重启nginx。

5、添加分站点

现在再进到WP后台,样子变了吧,现在是站点网络的主控后台了。

添加分站,分站域名就是你第一步新建的那个二级域名。其它的你自己看看就会了

OK,搞定!

Leave a Reply

Your email address will not be published. Required fields are marked *