搬家记
从一台丢包率高达十分之一的服务器上把博客搬走,访问速度明显有了质的飞跃。因为之前对 WordPress 做了很多自定义的改动,所以我没有采取全新安装 WordPress + 安装主题插件 + 导入文章的方式,而是直接把整个文件夹和数据库打包带走了。
简单把我的步骤和遇到的问题罗列一下:
- 进入旧服务器博客目录,打包博客文件夹;
1tar -cvf zhou.tar zhou - 把压缩包上传到新服务器对应目录(700M 的文件只花了 15 秒);
1scp zhou.tar root@104.131.144.112:/home/blog - 进入新服务器,解压压缩包;
1tar -tvf zhou.tar - 在旧服务器上导出博客数据库;
- 新服务器主目录下安装 phpMyAdmin;
- 进入 phpMyAdmin 导入博客数据库;
- 修改
wp-config.php
中的数据库名、登录名和密码; - 把域名解析至
104.131.144.112
,由于 TTL 设置为十二小时,所以不会立即生效; - 等待域名更新时,在服务器上准备好域名跳转。进入
/etc/apache2/sites-available
,添加文件handsomeone.com.conf
。这里由于 Ubuntu 新版本的特性,文件名一定要以.conf
结尾。文件内容为:
12345678<VirtualHost *:80>ServerAdmin i@handsomeone.comServerName handsomeone.comServerAlias *.handsomeone.comDocumentRoot /home/blog/zhouErrorLog ${APACHE_LOG_DIR}/error.logCustomLog ${APACHE_LOG_DIR}/access.log combined</VirtualHost>
然后使用a2ensite
命令使配置生效并重启 apache2。 - 检查
apache2.conf
。确保/home/blog
下有Require all granted
语句。如果博客目录下有.htaccess
文件,则/home/blog
下还应有AllowOverride All
语句,否则.htaccess
无效。当时为虚拟目录失效的问题伤脑筋了好久,最后才发现是这个原因。
从别的地方看到一个窍门,要迅速判断.htaccess
是否生效,就打开它随意加点文字进去。如果它的确起着作用,那么由于解析失败,访问博客时会返回错误 500。 - 最后,如果
.htaccess
里用到了rewrite
、expires
等模块,最好到服务器/etc/apache2/mods-enabled
里看这个模块是否被启用了。如果没有,就用a2enmod
命令启用此模块,然后重启 Apache。
哇
哇什么哇
哇呜哇呜
呜哇呜哇