原因:
1)WordPress站点需要进行服务器迁移。
2)域名需要改变。
前提:相关的数据库环境、PHP环境等配置完毕。
处理步骤:
1、站点打包,数据备份导出。
1)登录到站点后台,通过导出功能将所有信息导出,用于备份。
2)登录到服务器,将站点代码打包。
3)通过 mysqldump 将数据库导出。
4)在新服务器上创建对应的数据库,库名及相关字符集保持与原有数据库一致。
我通过的navicat工具进行的新建库处理。eg:utf8 -- UTF-8 Unicode,utf8_general_ci。
注:本来想通过navicat进行数据转换,报错。通过navicat导出sql,再导入,也失败。郁闷。
5)登录到新服务器,进入mysql,切换到指定数据库,通过source进行sql文件导入。
切记这个地方的sql文件,最好是mysqldump导出的,我尝试用navicat导出的sql,导入时失败。
2、站点解压,调整配置。
1)将站点代码上传至新服务器,解压。
2)调整wp-config.php中的数据库等配置,库名、密码、端口等。
3)通过web发布路径,建立软链接。或者直接将站点解压在web目录下。
4)http://47.104.xxx.xxx/xxx/ 这个时候可以访问站点了,但站点文章及点击后打开的二级页面,链接均是错误的,都是指向原有的站点链接。
3、调整数据库中数据的路径配置。
UPDATA 表名 SET 字段 = REPLACE(字段,'替换内容’,‘新内容’);
我使用 navicat连接数据,完成这个操作。也可以用phpMyadmin连接数据库处理。
修改的主要内容:
1)修改站点的URL和主页地址。主要有wp_options里的option_name为home,siteurl,字段option_value需要修改。
eg:UPDATE wp_options SET option_value = REPLACE(option_value,'http://www.aa.com','http://bbb/xxx/') where option_name='home' or option_name='siteurl';
2)修改文章内部连接和附件地址。
eg:update wp_posts SET post_content = replace(post_content,'http://www.aaa.com','http://bb/xxx');
3)修改文件默认的永久链接。
eg:update wp_posts SET guid = replace(guid,'47.88.29.225','47.104.xxx.xx');
eg:update wp_posts SET guid = replace(guid,'www.aa.com','47.104.xxx.xx/xx');
eg:update wp_posts SET guid = replace(guid,'www.aaa.com','47.104.xxx.xx/xx');
4)修改评论中的连接地址。
eg:update wp_comments SET comment_author_url = REPLACE(comment_atuthor_url,'http://www.a.com','http://www.b.com');
此外如有其他,需要根据查询结果来处理。
参考:https://www.etuan.com/zx/109-133725.html
4、调整虚拟目录。
通过修改vhost实现多站点访问。
修改 /etc/apache2/sites-available/000-default.conf 文件:
增加:tatubu站点和ilive365整合,指向同一目录。
<VirtualHost *:80>
ServerAdmin webmaster@www.tatubu.com
DocumentRoot "/var/www/html/xxx"
ServerName www.xxx.com
ErrorLog ${APACHE_LOG_DIR}/dummy-xxx.com-error_log
CustomLog ${APACHE_LOG_DIR}/dummy-xxx.com-access_log common
</VirtualHost>
处理完毕后,重启apache服务。
5、访问
其他的页面部分的链接调整,可以通过登录到管理后台进行处理。
以后新的域名确认后,再进行调整更新,参考步骤 3。