Discuz! X3.2 搬家并更换域名小记

个人搭建的 Discuz! X3.2 论坛之前是放在老鹰主机上的,老鹰主机我用了有两年多了,达拉斯和西雅图的机房都用过,说实在的,速度都不怎么样,国内各类介绍国外空间的博客多的很,我当年就是看这些博客才决定用的。可是,现在回过头来想想,只能呵呵。。。了

言归正传,搬家目的地为Linode,配置是CentOS 7 + Nginx + MariaDB + PHP,也就是传说中的LEMP(LNMP),关于LEMP的配置,网上有很多文章可以参考,比如Linode或DigitalOcean的官方教程,都很不错的。接下来简要记一下过程:

  1. 网站关闭、更新缓存,然后把网站文件打包并下载,同时导出数据库备份;

  2. 按照目的服务器的配置修改 uc_server\data\config.inc.php config\config_globle.phpconfig\config_ucenter.php这三个文件;

  3. 在Linode上新建一个MariaDB数据库,把第一步的数据库备份导入(注意数据库编码),同时创建好相应的网站目录,把前面的网站打包文件上传、解压,接下来需要修改一下几个目录(包括所含子目录及文件)和文件的权限(如下图,都改成777,权限不够后面会出错),另外注意一点,用老鹰主机时网站根目录下有个.htaccess文件,此时用不到了,所以删掉;

修改目录和文件权限

  1. 打开 yoursite.com/admin.php 登录后台,查看Ucenter–>应用管理,改下URL,确保通信成功(此处可能有很多情况导致通信失败,网上有很多的帖子,搜一下一般都能找到解决方法),比如:查看下站长–>Ucenter设置,是否是正确的,记得有一次不知道怎么把这块弄错了,结果怎么改都是失败;

  2. 把个别需要更改域名的地方改一下(此处每个站点可能都不一样,有的需要改的多,有的几乎不用怎么改,全看自己之前的设置,比如下图中的“应用域名”部分);

修改应用域名

  1. 所有能想到的都改好了之后,别忘了,更新缓存(工具–>更新缓存,Ucenter–>更新缓存);

  2. 另外,因为我的站点开启了URL静态化,所以需要把相应的Nginx的Rewrite规则复制到Nginx的站点配置(比如yoursite.conf)下;

  3. 不要忘了,把旧域名做一个301重定向,让访问者自动转到新的域名上,这块主要是考虑到搜索引擎优化和用户体验,所以,不要急着把旧域名关闭。如果域名马上要到期了才想到要换域名,这样等旧域名到期想做301都做不成了,对网站很不利;

至此Discuz! X3.2论坛的搬家并更换域名就基本结束了,总结起来比较简单,但是实际操作时可能有这样那样的问题,这里说两点我遇到的情况:

因为之前把网站默认首页设置成了“/”,而换成Nginx后,首页打不开了,浏览器提示重定向循环,其他地址都好,就是首页打不开,我网上搜索了好长时间,多数描述的都不是我这种情况,不过最后还是看到了一篇文章,终于恍然大悟。

另一个就是Nginx 301重定向,把www的跳转到不带www的,或者反过来,这个其实Nginx官网上有例子,在这里想说的是,类似这种问题,最好是找官网,或者参考权威一点的网站,比如Stack Overflow上 Nginx no-www to www and www to no-www 这个问题的回答就很好,像“百度知道”这样的(你复制我的、我粘贴他的),这些答案远没有官网靠谱,很可能让你走弯路。

好了,暂时就这么多,主要是个人整理,要是能对看到此文的小伙伴有哪怕一丝的帮助,那实在是再好不过了!