Typecho 更换服务器迁移记录 Tink 计算机 2013-09-01 阅读:(5661) ### 打包备份原站点的代码 登录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)** ``` RewriteEngine On RewriteBase / RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-d RewriteRule ^(.*)$ /index.php/$1 [L] ``` **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; } } ``` > Written with [StackEdit](http://benweet.github.io/stackedit/).