前期工作
更换域名之前我们需要备份数据库和做好域名解析,如果使用的是mysql数据库,可以使用sqldump命令导出数据库;如果和我一样使用的是sqlite3,直接备份sqlite文件就行。域名解析的话根据域名商不同,提前将新域名解析到主机上即可。
更改数据库
下面的所有操作只涉及三个变量,分别是数据库前缀,旧域名,新域名,这里以prefix,old_domain,new_domain代指,使用时需要将其替换为实际名称。
修改options表
UPDATE `prefix_options` SET `value` = 'new_domain' WHERE `prefix_options`.`name` = 'siteUrl' AND `prefix_options`.`user` =0;
修改contents表
UPDATE `prefix_contents` SET `text` = REPLACE(`text`,'old_domain','new_domain');
修改users表
UPDATE `prefix_users` SET `url` = REPLACE(`url`,'old_domain','new_domain');
修改comments表
UPDATE `prefix_comments` SET `url` = REPLACE(`url`,'old_domain','new_domain');
UPDATE `prefix_comments` SET `text` = REPLACE(`text`,'old_domain','new_domain');
收尾工作
为新域名配置ssl,个人使用的是caddy,只需要在Caddyfile中将旧域名改为新域名,然后重启caddy服务,caddy就会自行配置ssl,如果使用的nginx等代理软件,请自行探索。