阿里云的服务器是Ubuntu 12.04根据Canonical发布的支持路线图,可以看到2017年4月份之后就不再提供支持。因此很有升级导致Ubuntu 14.04的必要,更别说很多软件在Ubuntu 12.04上已经比较过时了。
Ubuntu LTS版本支持路线图如下图:

升级的流程如下所示:(执行下面操作之前,请务必先备份重要数据,阿里云服务器推荐使用自带的系统快照功能,非常好用)
1.首先保证当前系统上的软件都是最新的
|
1 2 |
$sudo apt-get update $sudo apt-get dist-upgrade |
2.安装系统升级模块
|
1 2 |
$sudo apt-get install update-manager-core $sudo do-release-upgrade -d |

3.升级流程
允许系统在升级期间开放1022端口用来处理系统升级异常,当系统升级异常的时候,可以通过这个端口进行某些恢复操作。(实际上没太大作用,出问题就快照回滚了,更快速安全方便)

输入y,点击回车(Enter)。

点击回车(Enter),允许在iptable上面开放1022端口出来,这个端口在安装完成后会自动关闭,不需要过多关心。

允许升级程序更新sources.list用来获取升级所需要的文件,输入y,点击回车(Enter)。

询问是否确认系统升级,输入y,点击回车(Enter)。

询问是否禁止root用户通过ssh访问系统,这个一定要选择No,否则升级完成后,我们无法远程登陆系统。

询问在升级期间是否允许自动重启需要升级的服务,这个一定要选择Yes,否则会不断的询问你是不是确定重启服务,非常麻烦。

询问是否用新系统的文件替换原系统的/etc/security/limits.conf文件,直接回车(Enter),不允许替换,使用原系统的配置。

同上,直接回车(Enter)。

同上,直接回车(Enter)。

同上,直接回车(Enter)。

同上,直接回车(Enter)。

同上,直接回车(Enter)。

询问是否替换文件,同上,直接回车(Enter),不允许替换。

同上,直接回车(Enter)。

同上,直接回车(Enter)。

同上,直接回车(Enter)。

同上,直接回车(Enter)。

同上,直接回车(Enter)。

询问是否升级数据库,此处选择Yes,回车(Enter)。

输入数据库的密码,完成后点击回车(Enter)。

询问是否删除不再使用的安装包,输入y后点击回车(Enter)。

升级完成,询问是否重启系统,输入y后点击回车(Enter)。系统会重启,远程连接会断开,需要稍等几分钟后重新连接服务器。
3.恢复被修改后的系统配置信息
安装Apache2的PHP扩展libapache2-mod-php5,Ubuntu 12.04版本的库,在升级的过程中被丢弃了,需要重新手动安装。

询问是否替换已经存在的PHP配置文件,直接点击回车,不允许替换。

修改Apache2的配置文件
|
1 |
$sudo vim /etc/apache2/apache2.conf |

原有Apache 2.2配置为:
|
1 |
Include sites-enabled/ |
发现升级后变更为:
|
1 |
IncludeOptional sites-enabled/*.conf |
导致PHP无法正常工作,因此需要修改回来。
修改前:

修改后:
Apache 2.4修改了默认目录位置(这导致2.2版本设置的禁止目录流量功能失效),并且默认开启了目录浏览功能,会导致潜在的安全问题,需要手工关闭.
修改前:
修改后:
重启Apache2
|
1 |
$sudo service apache2 restart |

到此,整个系统升级完成,所有功能恢复正常。
从升级的效果来看,服务器的响应明显变快,非常值得升级!