discuz搬家换服务器空间和更换域名解决方法
discuz搬家更换服务器空间,同时更换域名该怎么操作,不换域名只更换服务器,本文方法也适用。操作数据之前首先保证要搬家的网站可以正常访问,所有数据均为健康状态,比如UCenter通信是成功的。
换服务器方法一:直接将数据库和文件平移(包括换域名设置)
新独立服务器不换域名搬家:首先将域名解析到新的服务器上,并将域名和服务器绑定,同时如果旧服务器使用了ssl证书,新的服务器上也做好ssl设置。新服务器上创建好数据库。
虚拟空间不换域名搬家:将域名解析到新的虚拟空间,通用如果旧空间有使用ssl,新的空间也先做好ssl配置。
如果搬家且要更换域名:直接将新的域名和新的服务器绑定,旧空间如果有ssl,也做好新域名的ssl设置。
1、将旧服务器数据库导出
使用PHPmyadmin进入数据库,将需要搬家网站的数据库导出,如下图所示,直接将discuz网站的数据库导出。

这里需要注意的是导出有个“快速”和“自定义”选项,如果是选择“快速”,有可能会有数据表没有被选中,建议选择“自定义”,看一下有没有数据表没被选中。要是网站数据较多,可以分几次导出。导出全部数据库中的数据并保存到本地电脑。
2、旧服务器上打包网站全部文件并下载
旧服务器上,将需要搬家网站跟目录的全部文件打包为zip或.gz等格式,下载打包好的文件到本地电脑。
3、新服务器恢复数据库
在新的服务器空间,使用PHPmyadmin登录数据库,或虚拟主机远程连接到数据库,将保存在本地电脑的sql导入到新服务器的数据库中。

这里需要注意PHPmyadmin限制导入数据库文件的大小为50MB,如果需要导入的文件超过50MB,可以分割为多个后依次导入,或者在旧服务器导出数据库文件的时候分多次导出数据表即可轻松解决文件超出大小的问题。
4、上传旧服务器网站全部文件到新的服务器空间
将前面打包保存到本地电脑的网站文件上传到新的服务器,解压缩文件到新服务器网站根目录。
5、修改新服务器数据库连接信息
5.1、打开新服务器网站根目录config\config_global.php文件,修改:
$_config['db'][1]['dbhost'] = '127.0.0.1';//虚拟主机更改为新的数据库连接地址,独立服务器保持不变。
$_config['db'][1]['dbuser'] = '新服务器数据库用户名';
$_config['db'][1]['dbpw'] = '新服务器数据库密码';
$_config['db'][1]['dbname'] = '新服务器数据库名';

5.2、新服务器中打开config\config_ucenter.php文件,修改:
define('UC_DBHOST', 'localhost:3306');//虚拟空间修改数据库连接地址,独立服务器数据库不是远程不用修改。
define('UC_DBUSER', '新服务器的数据库用户名');
define('UC_DBPW', '新服务器数据库密码');
define('UC_DBNAME', '新服务器数据库名');
define('UC_DBCHARSET', 'utf8mb4');
define('UC_DBTABLEPRE', '`新服务器的 数据库名`.pre_ucenter_');
define('UC_API', 'https://www.新域名.name/uc_server');//如果不换域名,这一行不做修改。
5.3、新服务器打开uc_server\data\config.inc.php文件,修改:
define('UC_DBHOST', 'localhost:3306');//虚拟主机修改新的数据库连接地址,独立服务器数据库不是远程不用修改。
define('UC_DBUSER', '新服务器数据库用户名');
define('UC_DBPW', '新服务器数据库 密码');
define('UC_DBNAME', '新服务器的 数据库名');
到此,不换域名只换服务器就全部结束了,输入域名登录访问后台,清除缓存,重新配置一下伪静态、更新一下插件等即可。
6、如果更换域名,请继续
6.1、更新UCenter设置:使用新的域名打开网站,然后使用原域名的创始人账号登录,并进入网站管理后台,登录UCenter,找到→应用管理→应用的主URL:修改为新的域名,下图所示。

“应用IP”这一项如果旧服务器有填写,那么也更新为新服务器的IP地址。
6.2、更新应用域名:新域名登录网站后台→全局→域名设置,将“应用域名”、“根域名”等设置为新的域名,如果旧域名这里没有设置,那么无需更改。
6.3、后台→全局→站点信息→网站 URL,更新为新的域名。
6.4、后台→界面→导航,这里面如果有自定义或就域名的链接,更新为新的域名。
6.5、后台→运营,这里面的 站点公告、站点广告、关联链接等,如果有旧域名更新为新域名的URL。
后台→工具、模板,这两处都 更新缓存,基本上就可以了。如果此时访问新域名前台首页,仍然自动跳转到旧域名,可以打开/data/sysdata/cache_domain.php和cache_mobile.php,将里面的域名改为新的域名即可。几乎所有的discuz网站都可以使用此方法搬家、换域名,简单、直接,没有多余的废话说。
方法二:使用官方的数据备份恢复实现搬家、换域名
在网站后台→站长→数据库,备份discuz和UCenter数据库,然后将网站根目录全部文件打包下载,上传到新的服务器,去官方下载相同版本的discuz系统,拷贝install文件夹里面的index.php上传到服务器,进行一次全新安装。
安装好之后进入后台,恢复数据即可。这时官方推荐的方法,网上也有很多教程,不过经过我得测试,我发现3.5版本使用这个方法不一定行,恢复数据的时候总是出错,尤其是老站从3.2升级到3.5的系统,所以就使用了方法一。