作者:Vamei 出處:http://www.cnblogs.com/vamei 轉載請先與我聯系。
之前在單機上實現了一個Django服務器(被解放的姜戈07 馬不停蹄),現在我們可以把這個服務器推上一個雲平台。這里我選擇使用阿里雲。

看着復仇的火焰燃燒,姜戈露出得意的笑容。
阿里雲准備
在阿里雲官網(aliyun.com)頁面注冊阿里雲賬號。登錄后選擇雲服務器ECS,並選擇“創建實例”:

選擇操作系統Ubuntu 14.04 64位,設置密碼。實例開通后,可以在實例記錄中查到它的IP地址,我以199.199.199.199為例。用SSH登錄:
ssh root@199.199.199.199
直接使用root賬戶,有可能給系統帶來風險。所以創建一個新的用戶vamei,並根據提示設置該用戶密碼:
sudo adduser vamei
為了管理方便,我們賦予該賬戶以管理員運行命令(sudo)的權力。打開文件/etc/sudoers,找到下面一行:
root ALL=(ALL:ALL)ALL
在這一行下方增加新的一行:
vamei ALL=(ALL:ALL)ALL
編輯/etc/sudoers時,有可能需要先給root增加寫入權限。
此外,新建用戶沒有定義默認的SHELL。可以設定為最常用的BASH。打開/etc/passwd,找到對應用戶vamei的一行,改為:
vamei:x:1000:1000::/home/vamei:/bin/bash
即在末尾增加了/bin/bash,說明所要用的SHELL。
安裝Django
登出root,登入vamei的賬戶,為安裝Django做准備。Ubuntu系統中已經自帶有Python 2.7。我先安裝virtualenv,為網站設立運行時用的虛擬環境。
# 安裝virtualenv sudo apt-get install python-virtualenv # 創建一個新的虛擬環境,命名為ENV virtualenv ENV # 啟動ENV source ENV/bin/activate
完成后,命令行提示符前會出現一個(ENV)的前綴,說明已經處於名為ENV的虛擬環境中。
*** 如果需要退出該虛擬環境,用以下命令:
deactivate
在虛擬環境下安裝Django:
pip install django
安裝數據庫和HTTP服務器
Django可以直接使用SQLite作為數據庫,也可以配置使用其他類型的數據庫。這里以MySQL為例,說明相關環境的安裝:
# 安裝MySQL服務器 sudo apt-get install mysql-server # 安裝客戶工具 sudo apt-get install libmysqlclient-dev
Django雖然自帶一個簡單的HTTP服務器,但只供開發時使用。為了把Django用於生產環境,還需要搭配專業的HTTP服務器,如Apache, Nginx等。安裝Apache服務器:
sudo apt-get install apache2 sudo apt-get install libapache2-mod-wsgi
數據庫和HTTP服務器的具體配置可參考:被解放的姜戈07 馬不停蹄
運行Django服務器
利用sftp或scp把Django服務器的項目代碼放上雲平台。由於我們使用了virtualenv來安裝Django,所以Django並不在系統的默認路徑上。為了讓系統正常運行,還需要在wsgi.py中加入:
import sys # 加入virtualenv的路徑 sys.path.append('/home/vamei/ENV/lib/python2.7/site-packages')
再按照被解放的姜戈07 馬不停蹄配置好對應的數據庫和Apache服務器,就可以通過IP地址來訪問服務器了。更進一步,還可以注冊域名並備案,以便通過域名訪問。這些服務都可以在阿里雲上找到,使用過程也比較簡單,這里從略。
姜戈和自己的愛人,騎着馬遠走高飛。
