昨晚,我手一癢,就把我們的vps的ubuntu 11.10更新至了ubuntu 12.04 lts版本,結果還是相當順利的,但是還是微調了一些。
簡單記之:
<a target="_blank"></a>
從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」,一切得以順利進行下去。
我手動更新伺服器的政策是,盡可能使用新版本的配置檔案,再手動将舊設定應用于新的配置上。
比如在将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新舊配置檔案沒啥不同,唯一的一點是,之前我為了用nginx跑uwsgi,用了「root」使用者,現在又變成了「www-data」,重新改回來就可以。
所說現在有更好的跑python app的類uwsgi工具(或其他模式),有時間再更新一下了。
随着發行版的更新,python版本也更新了,于是會導緻使用virtualenv的webapp有詭異的問題,最好的辦法是,重建立立一遍virtualenv環境,非常簡單。
比如本站的環境是「imtx.me」,隻需要「mkvirtualenv imtx」,它會自動去對原環境進行一次重建立立(和覆寫操作),完成後,重新通過pip去安裝軟體包即可。
之前在vps上會跑一些cron,這些cron會有輸出,每跑一次都會向目前使用者發送一封郵件,久而久之就有積累了上千封郵件了。這些郵件通常告訴你cron跑的過程與結果是不是順利,偶爾是要看一下,但多了也不友善,該怎麼辦呢?
于是我想到了一個辦法,「crontab -e」編輯時,在最上面寫一行:mailto="[email protected]",這樣它就會發到我的郵箱的指定位置,我隻要想看時,看自己的私人郵箱就可以了,而不用登入到伺服器上看郵件了。
另外,如果真的不需要通知,在crontab裡指令行後面弄一句「> /dev/null 2>&1」也行。
盡管現在各種雲大行其道,但是自己管理自己的vps依然很有價值,關鍵是享受樂趣與最大的靈活性和可配置性。
另外做個小廣告,這些年來用過不少vps,今年開始用linode,大半年過去了,确實非常棒:穩定、快速,背景也十分強大,非常自動化。比如我昨天忘記密碼了,就通過rescue功能重設了root密碼。
<b>原文釋出時間為:2012-08-16</b>
<b>本文來自雲栖社群合作夥伴“linux中國”</b>