2015-04-27 09:21:23
来 源
中存储网
Ubuntu
把我们的VPS的Ubuntu 11.10升级至了Ubuntu 12.04 LTS版本,结果还是相当顺利的,但是还是微调了一些。 简单记之: 升级至Ubuntu 12.04 LTS Server 从Ubuntu 11.10升级至Ubuntu 12.04是非常简单的,只需要执行一下「sudo do-release-upgrade」,进行确认、软

把大家的VPS的Ubuntu 11.10升级至了Ubuntu 12.04 LTS版本,结果还是差不多顺利的,但是还是微调了一些。

简单记之:

升级至Ubuntu 12.04 LTS Server

从Ubuntu 11.10升级至Ubuntu 12.04是非常简单的,只需要执行一下「sudo do-release-upgrade」,进行确认、软件包的更新、下载与安装配置,即可完成升级。

但是升级过程还是有一点点意外:

我使用byobu的类screen工具连接至Server进行升级,升级了一半时,会话乱掉了(大概是重启啥服务引起的),等我再登录进去,dpkg的进程还跑着,但是byobu已经登录不进,也无法继续操作。只得将「/var/lib/dpkg/lock」删除,再手动执行「sudo dpkg --configure -a」及「sudo apt-get dist-upgrade」,一切得以顺利进行下去。

一些服务(nginx、mysql)的调整

我手动升级服务器的策略是,尽可能使用新版本的配置相关文件,再手动将旧设置应用于新的配置上。

比如在将mysql-server从5.1升级到5.5之后,原有的utf8设置可能会无效,于是在「/etc/mysql/conf.d/」下建立一个「utf8_charset.cnf」的文件,输入以下内容:

[mysqld]

max_allowed_packet=64M

collation-server = utf8_unicode_ci

init-connect='SET NAMES utf8'

character-set-server = utf8

然后再用「show variables like 'char%'」查询时,就会看到都是utf8了。

nginx+uwsgi的问题

升级了nginx新旧配置相关文件没啥不同,唯一的一点是,之前我为了用nginx跑uwsgi,用了「root」用户,现在又变成了「www-data」,重新改回来就可以。

所说现在有更好的跑Python App的类uwsgi工具(或其他模式),有时间再升级一下了。

Python Virtualenv的问题

随着发行版的升级,Python版本也升级了,于是会导致使用Virtualenv的WebApp有诡异的问题,最好的办法是,重新建立一遍virtualenv环境,非常简单。

比如本站的环境是「imtx.me」,只需要「mkvirtualenv imtx」,它会自动去对原环境进行一次重新建立(和覆盖操作),完成后,重新通过pip去安装软件包即可。

Crontab的通知问题

之前在VPS上会跑一些cron,这些cron会有输出,每跑一次都会向当前用户发送一封邮件,久而久之就有积累了上千封邮件了。这些邮件通常告诉你cron跑的过程与结果是不是顺利,偶尔是要看一下,但多了也不方便,该怎么办呢?

于是我想到了一个办法,「crontab -e」编辑时,在最上面写一行:MAILTO="yourmail+cron@gmail.com",这样它就会发到我的邮箱的指定位置,我只要想看时,看自己的私人邮箱就可以了,而不用登录到服务器上看邮件了。

另外,一旦真的不需要通知,在crontab里命令行后面弄一句「> /dev/null 2>&1」也行。

小结

尽管现在各种云大行其道,但是自己管理自己的VPS依然很有价值,关键是享受乐趣与最大的灵活性和可配置性。

另外做个小广告,这些年来用过不少VPS,今年开始用Linode,大半年过去了,确实非常棒:稳定、快速,后台也十分强大,非常自动化。比如我昨天忘记密码了,就通过Rescue功能重设了root密码。

一旦你打算使用Linode,可以考虑用我的可以考虑使用我的 referral code(通过该链接或该代码去购买Linode的产品):3a7a044d481045ae2ff2f4469357779e2322f5c6,算是对我blog的赞助吧。

声明: 此文观点不代表本站立场;转载须要保留原文链接;版权疑问请联系我们。