被解放的姜戈08 远走高飞
作者:Vamei 出處:http://www.cnblogs.com/vamei 轉(zhuǎn)載請(qǐng)先與我聯(lián)系。?
?
之前在單機(jī)上實(shí)現(xiàn)了一個(gè)Django服務(wù)器(被解放的姜戈07 馬不停蹄),現(xiàn)在我們可以把這個(gè)服務(wù)器推上一個(gè)云平臺(tái)。這里我選擇使用阿里云。
?
看著復(fù)仇的火焰燃燒,姜戈露出得意的笑容。
?
阿里云準(zhǔn)備
在阿里云官網(wǎng)(aliyun.com)頁(yè)面注冊(cè)阿里云賬號(hào)。登錄后選擇云服務(wù)器ECS,并選擇“創(chuàng)建實(shí)例”:
選擇操作系統(tǒng)Ubuntu 14.04 64位,設(shè)置密碼。實(shí)例開(kāi)通后,可以在實(shí)例記錄中查到它的IP地址,我以199.199.199.199為例。用SSH登錄:
ssh root@199.199.199.199?
直接使用root賬戶,有可能給系統(tǒng)帶來(lái)風(fēng)險(xiǎn)。所以創(chuàng)建一個(gè)新的用戶vamei,并根據(jù)提示設(shè)置該用戶密碼:
sudo adduser vamei?
為了管理方便,我們賦予該賬戶以管理員運(yùn)行命令(sudo)的權(quán)力。打開(kāi)文件/etc/sudoers,找到下面一行:
root ALL=(ALL:ALL)ALL在這一行下方增加新的一行:
vamei ALL=(ALL:ALL)ALL編輯/etc/sudoers時(shí),有可能需要先給root增加寫(xiě)入權(quán)限。
?
此外,新建用戶沒(méi)有定義默認(rèn)的SHELL。可以設(shè)定為最常用的BASH。打開(kāi)/etc/passwd,找到對(duì)應(yīng)用戶vamei的一行,改為:
vamei:x:1000:1000::/home/vamei:/bin/bash即在末尾增加了/bin/bash,說(shuō)明所要用的SHELL。
?
安裝Django
登出root,登入vamei的賬戶,為安裝Django做準(zhǔn)備。Ubuntu系統(tǒng)中已經(jīng)自帶有Python 2.7。我先安裝virtualenv,為網(wǎng)站設(shè)立運(yùn)行時(shí)用的虛擬環(huán)境。
# 安裝virtualenv sudo apt-get install python-virtualenv# 創(chuàng)建一個(gè)新的虛擬環(huán)境,命名為ENV virtualenv ENV# 啟動(dòng)ENV source ENV/bin/activate完成后,命令行提示符前會(huì)出現(xiàn)一個(gè)(ENV)的前綴,說(shuō)明已經(jīng)處于名為ENV的虛擬環(huán)境中。
*** 如果需要退出該虛擬環(huán)境,用以下命令:
deactivate?
在虛擬環(huán)境下安裝Django:
pip install django?
安裝數(shù)據(jù)庫(kù)和HTTP服務(wù)器
Django可以直接使用SQLite作為數(shù)據(jù)庫(kù),也可以配置使用其他類型的數(shù)據(jù)庫(kù)。這里以MySQL為例,說(shuō)明相關(guān)環(huán)境的安裝:
# 安裝MySQL服務(wù)器 sudo apt-get install mysql-server # 安裝客戶工具 sudo apt-get install libmysqlclient-devDjango雖然自帶一個(gè)簡(jiǎn)單的HTTP服務(wù)器,但只供開(kāi)發(fā)時(shí)使用。為了把Django用于生產(chǎn)環(huán)境,還需要搭配專業(yè)的HTTP服務(wù)器,如Apache, Nginx等。安裝Apache服務(wù)器:
sudo apt-get install apache2 sudo apt-get install libapache2-mod-wsgi?
數(shù)據(jù)庫(kù)和HTTP服務(wù)器的具體配置可參考:被解放的姜戈07 馬不停蹄
?
運(yùn)行Django服務(wù)器
利用sftp或scp把Django服務(wù)器的項(xiàng)目代碼放上云平臺(tái)。由于我們使用了virtualenv來(lái)安裝Django,所以Django并不在系統(tǒng)的默認(rèn)路徑上。為了讓系統(tǒng)正常運(yùn)行,還需要在wsgi.py中加入:
?
import sys# 加入virtualenv的路徑 sys.path.append('/home/vamei/ENV/lib/python2.7/site-packages')?
再按照被解放的姜戈07 馬不停蹄配置好對(duì)應(yīng)的數(shù)據(jù)庫(kù)和Apache服務(wù)器,就可以通過(guò)IP地址來(lái)訪問(wèn)服務(wù)器了。更進(jìn)一步,還可以注冊(cè)域名并備案,以便通過(guò)域名訪問(wèn)。這些服務(wù)都可以在阿里云上找到,使用過(guò)程也比較簡(jiǎn)單,這里從略。
?
姜戈和自己的愛(ài)人,騎著馬遠(yuǎn)走高飛。
總結(jié)
以上是生活随笔為你收集整理的被解放的姜戈08 远走高飞的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。