升級(jí)至Ubuntu 12.04 Server的二三事
昨晚,我手一癢,就把我們的VPS的Ubuntu 11.10升級(jí)至了Ubuntu 12.04 LTS版本,結(jié)果還是相當(dāng)順利的,但是還是微調(diào)了一些。
簡(jiǎn)單記之:
升級(jí)至Ubuntu 12.04 LTS Server
從Ubuntu 11.10升級(jí)至Ubuntu 12.04是非常簡(jiǎn)單的,只需要執(zhí)行一下「sudo do-release-upgrade」,進(jìn)行確認(rèn)、軟件包的更新、下載與安裝配置,即可完成升級(jí)。
但是升級(jí)過程還是有一點(diǎn)點(diǎn)意外:
我使用byobu的類screen工具連接至Server進(jìn)行升級(jí),升級(jí)了一半時(shí),會(huì)話亂掉了(大概是重啟啥服務(wù)引起的),等我再登錄進(jìn)去,dpkg的進(jìn)程還跑著,但是byobu已經(jīng)登錄不進(jìn),也無法繼續(xù)操作。只得將「/var/lib/dpkg/lock」刪除,再手動(dòng)執(zhí)行「sudo dpkg --configure -a」及「sudo apt-get dist-upgrade」,一切得以順利進(jìn)行下去。
一些服務(wù)(nginx、mysql)的調(diào)整
我手動(dòng)升級(jí)服務(wù)器的策略是,盡可能使用新版本的配置文件,再手動(dòng)將舊設(shè)置應(yīng)用于新的配置上。
比如在將mysql-server從5.1升級(jí)到5.5之后,原有的utf8設(shè)置可能會(huì)無效,于是在「/etc/mysql/conf.d/」下建立一個(gè)「utf8_charset.cnf」的文件,輸入以下內(nèi)容:
[mysqld]
max_allowed_packet=64M
collation-server = utf8_unicode_ci
init-connect='SET NAMES utf8'
character-set-server = utf8
然后再用「show variables like 'char%'」查詢時(shí),就會(huì)看到都是utf8了。
nginx+uwsgi的問題
升級(jí)了nginx新舊配置文件沒啥不同,唯一的一點(diǎn)是,之前我為了用nginx跑uwsgi,用了「root」用戶,現(xiàn)在又變成了「www-data」,重新改回來就可以。
所說現(xiàn)在有更好的跑Python App的類uwsgi工具(或其他模式),有時(shí)間再升級(jí)一下了。
Python Virtualenv的問題
隨著發(fā)行版的升級(jí),Python版本也升級(jí)了,于是會(huì)導(dǎo)致使用Virtualenv的WebApp有詭異的問題,***的辦法是,重新建立一遍virtualenv環(huán)境,非常簡(jiǎn)單。
比如本站的環(huán)境是「imtx.me」,只需要「mkvirtualenv imtx」,它會(huì)自動(dòng)去對(duì)原環(huán)境進(jìn)行一次重新建立(和覆蓋操作),完成后,重新通過pip去安裝軟件包即可。
Crontab的通知問題
之前在VPS上會(huì)跑一些cron,這些cron會(huì)有輸出,每跑一次都會(huì)向當(dāng)前用戶發(fā)送一封郵件,久而久之就有積累了上千封郵件了。這些郵件通常告訴你cron跑的過程與結(jié)果是不是順利,偶爾是要看一下,但多了也不方便,該怎么辦呢?
于是我想到了一個(gè)辦法,「crontab -e」編輯時(shí),在最上面寫一行:MAILTO="yourmail+cron@gmail.com",這樣它就會(huì)發(fā)到我的郵箱的指定位置,我只要想看時(shí),看自己的私人郵箱就可以了,而不用登錄到服務(wù)器上看郵件了。
另外,如果真的不需要通知,在crontab里命令行后面弄一句「> /dev/null 2>&1」也行。
小結(jié)
盡管現(xiàn)在各種云大行其道,但是自己管理自己的VPS依然很有價(jià)值,關(guān)鍵是享受樂趣與***的靈活性和可配置性。
原文鏈接:http://imtx.me/archives/1752.html