最近嘗試把項(xiàng)目遷移到Python環(huán)境下,特別新裝了一臺(tái)干凈的Debian系統(tǒng),準(zhǔn)備重新配置環(huán)境,上網(wǎng)找了一些運(yùn)行Python Web的環(huán)境方案,最后敲定Nginx+uWSGI組合,Nginx用得比較多,熟練些;uWSGI據(jù)說性能不錯(cuò),想嘗試一下。
網(wǎng)上大部分教程都是要求到uWSGI官方網(wǎng)站下載源碼包,然后通過編譯的方式安裝,比如對于一臺(tái)新Debian系統(tǒng),可以通過下面的命令安裝:
apt-get updateapt-get upgradeapt-get install build-essential psmiscapt-get install python-dev libxml2 libxml2-devapt-get install python-setuptoolscd /opt/wget http://projects.unbit.it/downloads/uwsgi-latest.tar.gztar -zxvf uwsgi-latest.tar.gzmv uwsgi-latest/ uwsgi/cd uwsgi/python setup.py install
還有一些配置我就不介紹了,大家可以參考Linode Library的《Deploy Python Code with WSGI using uWSGI and nginx on Debian 6 (Squeeze)》介紹。
今天要介紹的是利用APT源直接apt-get install安裝配置我們所需要的環(huán)境,首先按慣例先安裝MySQL和Nginx:
然后通過Debian Packages網(wǎng)站找到我們所需要的uWSGI在sid里,sid版里的東西表示仍在開發(fā)測試中,不是最終穩(wěn)定版,不過對于我們測試來說是夠用了,為了用sid里面的軟件包,我們還需要修改我們的/etc/apt/sources.list源,添加deb http://ftp.tw.debian.org/debian sid main non-free contrib這一行,或者直接輸入命令:
echo "deb http://ftp.tw.debian.org/debian sid main non-free contrib" >> /etc/apt/sources.list
配置過源列表后,我們就可以通過下面的命令安裝了:
apt-get updateapt-get install uwsgi uwsgi-core uwsgi-plugin-python
安裝完成后,配置文件按慣例放在了/etc/uwsgi里面,服務(wù)控制可以通過invoke-rc.d uwsgi后面跟命令參數(shù)來實(shí)現(xiàn),不過這里有個(gè)小插曲我不得不提一下,安裝時(shí)可能會(huì)報(bào)這樣的錯(cuò)誤:
The following packages have unmet dependencies: libc6-dev : Breaks: gcc-4.4 (< 4.4.6-4) but 4.4.5-8 is to be installed. E: Broken packages
看樣子是依賴包gcc版本不匹配,我后來通過下面的方式解決了:
apt-get updateapt-get upgrade # 先嘗試升級系統(tǒng)軟件包 apt-get install libc6-dev
接下來就是安裝django以及Python的MySQL支持,繼續(xù)APT命令:
apt-get install python-django python-mysqldb
通過上面的步驟,Python環(huán)境應(yīng)該安裝到你的系統(tǒng)里了,切換到/usr/lib:
cd /usr/libls -l | grep python
你可能會(huì)發(fā)現(xiàn)系統(tǒng)內(nèi)被默認(rèn)安裝了幾個(gè)版本的Python,比如我這里就安裝有3個(gè)版本:
/usr/lib/python2.6/usr/lib/python2.7/usr/lib/python3
如何確定當(dāng)前的Python默認(rèn)版本呢?很容易,直接通過下面的命令就可以了:
新聞熱點(diǎn)
疑難解答
圖片精選