目前在用的服务器优惠即将到期,不得已才将博客迁移、软件升级等事项排到了日程表上。
博客迁移
博客迁移主要包括三件事情:
- 数据库迁移
- 网站源代码迁移
- 服务器环境配置及域名解析
此文主要讲述前两点,至于服务器环境的配置教程请参考其它文章。数据库迁移,我采用的是可道云自带的一个简易的MySQL
图形界面管理工具。先将数据库导出,然后再将其导入。(原来服务器与现在的目标服务器都装了可道云)
网站源代码迁移,我则是直接使用的 scp
命令将代码等文件直接从原来服务器传到了目标服务器上。然后,将域名的解析地址改为目标服务器IP,等待几分钟即可访问。
注:原服务器与目标服务器的 MySQL
数据库用户名与密码必须相同。
WordPress 版本升级
我个人对待软件版本升级这种事情特别积极,只要是版本稳定基本上能升就升。在原来服务器上限制于php
版本的版本较低则一直没有升级WordPress
版本。至于为什么不升级php
?因为网站一直有用户访问,升级过程中的不可访问并且可能会造成的各种问题而且有更换服务器的打算,最终决定就这么用着吧。
当然,在博客迁移完成后。因为还在用原来的版本,那么在目标服务器上就能够放心的鼓捣了。我根据系统提示,点击更新版本之后发现许久之后都没反应。这是由于wordpress
的服务器在国外的原因,导致访问速度很慢下载不下来。
迅雷下载
在服务器上使用 wget
命令下载,以及在本地谷歌浏览器上下载的速度都不尽人意。然后我选择复制下载链接,打开迅雷然后发现尽管不是特别快但是至少保持着100kb/s
的速度。
上传软件
下载完成后,使用scp
命令将wordpress
压缩包上传到服务器某个目录(自己能找的就好)。然后登录服务器,解压压缩包。将解压后的文件拷贝到原来博客代码的同级目录中。
划重点
现在新版本的wordpress
与老版本的wordpress
都在同一个目录下面了。那么应该将老版本中的 wp-content
文件夹与 wp-config.php
文件复制到新版本的wordpress
文件夹中。因为自己的主题插件什么东西都在wp-content
中,而配置信息都在wp-config.php
中,所以只需要替换一个文件夹与文件。
替换完成后,将老版本的文件夹名字改掉或者删掉,然后将新版本的wordpress名字
命名为老版本原来的名字。那么现在再访问博客网址顺利打开就升级成功了。不过,还是有个原因可能会导致失败。如果你在使用的插件不支持高版本的php
,那么就无法打开页面。因为 php.ini
中默认是不显示报错信息的,所以需要去 php.ini
中将 display_errors
,display_startup_errors
的值由 Off
改为 On
。这个时候你在访问网站,则会将报错信息打印出来。如果是插件版本过低,可以登录服务器将相关插件删除掉。
更新插件、主题
你以为现在就万事大吉了吗?不是的,当你更新主题、插件的时候发现频频报错,基本上就是读写权限的问题。在这里很多人就一股脑的登录服务器将网站下面的所有文件夹改为了 777
。最后发现确实好用了,安全的都快“裸奔了”。
正确解决方法
插件、主题升级失败十有八九都是由于目录权限问题。那么你现在到服务器的博客目录下执行 ls -l
命令看看打印出来什么东西。是不是所属组与所属用户都是root
。仔细看文件夹权限发现其他组用户对于文件夹的权限最多只有 r-x
,其余只有r
,所以我们要将文件夹的所属改为服务器用户(apache、nginx或者tomcat)的。
- 如果你是使用的
Apache
或者是Apache + Nginx
反向代理。在没有改配置文件的情况下使用chown -R apache:apache wordpress
,(假设我的博客网站文件夹名字叫wordpress
)即可设置成功。 - 如果你是
Nginx
服务器那么就用chown -R nginx:nginx wordpress