Nginx下如何设置WordPress为多站点?
每个站点拥有独立的主题、插件、文章以及页面。
这样可以极大的减少了维护和更新多个WordPress安装程序的麻烦,
并且,每个站点之间又能够相互独立,互不影响。
WordPressmultisite有两个方式:子目录和子域名,这里我们主要介绍子域名方式。
也就是说,在主域名的基础上,我们会创建一个子域名,例如:http://shop.awaimai.com。
同时,我们可以映射这个子域名到一个一级域名如:http://shop.com,
对于访问者来说,访问的就是独立的一级域名。
WordPress介绍其多站点功能页面:站点网络管理页面
接着,我们准备几个域名,如下:
- 站点一:www.awaimai.com(主域名),这是安装WordPress时用的域名
- 站点二:blog.awaimai.com,二级域名
- 站点三:news.com,映射的二级域名news.awaimai.com
- 站点四:shop.com,映射的二级域名shop.awaimai.com
注意:WordPress安装后请勿擅自在后台修改域名,即使是把有www改成无www,或者反过来,都有可能引起redirectedyoutoomanytimes.错误,详情请看[参考资料2]
然后,登录域名服务商的解析页面,把以上域名的A记录全部设置为WordPress安装的服务器IP。
也可以在本地电脑测试,可以直接修改hosts文件,加入下面1行:
127.0.0.1www.awaimai.comblog.awaimai.comnews.comshop.com
2Nginx配置
内容为:
server{ listen80; server_namewww.awaimai.comblog.awaimai.comnews.comshop.com; root/usr/share/nginx/wordpress; indexindex.php; location/{ try_files$uri$uri//index.php?$args; } location~/favicon.ico{ access_logoff; log_not_foundoff; } location~\.php${ try_files$uri/index.php; includefastcgi_params; fastcgi_pass127.0.0.1:9000; fastcgi_indexindex.php; fastcgi_paramSCRIPT_FILENAME$document_root$fastcgi_script_name; } access_log/var/log/nginx/$host-access.log; error_log/var/log/nginx/wpms-error.log; }
这里我们使用$host变量可以让Nginx为每个域名生成独立的访问日志,
如:news.com-access.log和shop.com-access.log。
但是error日志不能用$host变量,所以所有的错误会记录在一个文件里面。
再重启Nginx服务器:
$nginx-sreload
用文本编辑器打开wp-config.php文件,加上如下一行:
/*Multisitesettings*/ define('WP_ALLOW_MULTISITE',true);
接下来我们还会编辑这个文件几次。
然后,停用所有插件,等配置多站点完成后再启用。
登录WordPress后台,点击:工具>网络设置,选择子域名,网络标题和网络管理员邮箱任意输入。
然后端机安装。
稍等片刻后,界面出现两个代码块,提示分别加入wp-config.php和.htaccesss文件。
这里我们用的是Nginx,所以不需要管.htaccess部分。
打开wp-config.php文件,还是在注释:/*好了!请不要再继续编辑。请保存本文件。使用愉快!*/之前,加上如下几行:
define('MULTISITE',true); define('SUBDOMAIN_INSTALL',true); define('DOMAIN_CURRENT_SITE','www.awaimai.com'); define('PATH_CURRENT_SITE','/'); define('SITE_ID_CURRENT_SITE',1); define('BLOG_ID_CURRENT_SITE',1);
登出WordPress后台,再登入。
打开面板左上角我的站点>网络管理>站点。
点击添加新的按钮,打开添加新站点表单,依次添加blog、news、shop三个子域名。
添加完成后,选所有站点,编辑news.awaimai.com和shop.awaimai.com两个子域名,站点标题分别为新闻和商城,
把站点地址(URL)分别改成:news.com和shop.com。
这一步完成后,我们就可以访问blog.awaimai.com了,它已经是一个独立的站点了,拥有独立的资源了。
但是要能访问news.com和shop.com,还需继续往下看。
5设置域名映射
打开面板左上角我的站点>网络管理>插件。
在这里安装 WordPressMUDomainMapping 插件,直接搜索或者下载安装都可以,然后启用。
接着复制插件目录(目录wp-content/plugins/wordpress-mu-domain-mapping)下的 sunrise.php 文件到wp-content目录。