Typecho 更换服务器迁移记录
打包备份原站点的代码
登录VPS或者主机空间,VPS的话直接用tar或者zip备份 tar -zcvf blog.tar.gz /var/www/blog
主机空间的话登录管理面板应该有相应的打包工具
备份数据库
强烈建议使用 phpMyAdmin 直接将数据库导出为 sql
更换数据库中的域名(如果不更换域名则可以跳过此步骤)
用 Vim 或者 Notepad++ 编辑导出的sql文件,搜索 http://原域名.com 直接替换为 http://新域名.com
更新配置文件中的数据库配置
将第一步中打包的代码文件解压缩,编辑 config.inc.php 在55行左右,将数据库信息更改为新服务器的数据库信息,其中
charset 一般不需要更改,更改完成之后再次打包
将代码和数据库上传至新服务器
代码上传之后直接解压缩就可以了,要注意解压缩之后的目录结构,应该和原服务器上目录结构一样;数据库仍然使用 phpMyAdmin 直接导入 sql 文件就ok
做好新域名解析和301跳转
首先做好新域名解析,然后在新服务器中使用伪静态的方式将原域名通过 301 redirect 到新域名,防止流量流失
Done!
PS:由于我的站点原来是跑在 Nginx 上,迁移之后是在 Apache 上,我这里把这两种 Web 服务的伪静态贴上,需要的童鞋直接拿去用了
Apache(.htaccess)
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ /index.php/$1 [L]
</IfModule>
Nginx(.conf)
location / {
index index.html index.php;
if (-f $request_filename/index.html){
rewrite (.*) $1/index.html break;
}
if (-f $request_filename/index.php){
rewrite (.*) $1/index.php;
}
if (!-f $request_filename){
rewrite (.*) /index.php;
}
}