Nginx+uWsgi+Flask+MongnDB環(huán)境搭建

本文環(huán)境搭建在64位的Ubuntu 16.04 Server上.

Nginx安裝

nginx依賴以下模塊:

  • gzip模塊需要 zlib 庫
  • rewrite模塊需要 pcre 庫
  • ssl 功能需要openssl庫

1.1.安裝pcre

獲取pcre編譯安裝包,在http://www.pcre.org/上可以獲取當(dāng)前最新的版本
解壓縮pcre-xx.tar.gz包。
進(jìn)入解壓縮目錄,執(zhí)行./configure。
sudo make & make install

1.2.安裝openssl(此步驟可以忽略, Ubuntu 16.04 Server 已經(jīng)自帶)

獲取openssl編譯安裝包,在http://www.openssl.org/source/上可以獲取當(dāng)前最新的版本。
解壓縮openssl-xx.tar.gz包。
進(jìn)入解壓縮目錄,執(zhí)行./config。
sudo make & make install

1.3.安裝zlib

獲取zlib編譯安裝包,在http://www.zlib.net/上可以獲取當(dāng)前最新的版本。
解壓縮zlib-xx.tar.gz包。
進(jìn)入解壓縮目錄,執(zhí)行./configure。
sudo make & make install

1.4.安裝nginx(安裝完之后需要手動(dòng)啟動(dòng),命令行可以安裝curl測試網(wǎng)頁)

獲取nginx,在http://nginx.org/en/download.html上可以獲取當(dāng)前最新的版本。
解壓縮nginx-xx.tar.gz包。
進(jìn)入解壓縮目錄,執(zhí)行./configure
sudo make & make install
sudo /usr/local/nginx/sbin/nginx

1.5.安裝uwsgi

sudo -H pip install uwsgi

注意:將pip安裝的源設(shè)置為豆瓣的源
建個(gè)文件 ~/.pip/pip.conf, 內(nèi)容如下

[global]
timeout = 6000
index-url = http://pypi.douban.com/simple/ 
[install]
use-mirrors = true
mirrors = http://pypi.douban.com/simple/ 
trusted-host = pypi.douban.com

===>此處為全局安裝

Flask安裝(可能需要先安裝pip或easy_install)
sudo pip install Flask
sudo pip install Flask-MongoEngine Flask-Security
(或者將所要安裝的軟件名稱保存在requirements.txt中,執(zhí)行 sudo pip install -r requirements.txt)


Node.js安裝

wget http://nodejs.org/dist/v4.4.6/node-v4.4.6.tar.gz
tar -zxvf node-v4.4.6.tar.gz
cd node-v4.4.6/
./configure
sudo make
sudo make install


安裝gulp

sudo npm install -g gulp (全局環(huán)境安裝)
npm install --save-dev gulp (項(xiàng)目本地安裝)
cd app/ npm install (根據(jù)package.json安裝Gulp依賴項(xiàng))
國內(nèi)使用npm比較慢,可以考慮使用淘寶提供的cnpm:(經(jīng)測試,淘寶源不太還用...)
npm install -g cnpm --registry=https://registry.npm.taobao.org
或者考慮下面的方法
npm --registry=https://registry.npm.taobao.org install xxxxx


===>此處為局部安裝

Virtualenv安裝(使用虛擬環(huán)境時(shí)需要安裝)
sudo pip install virtualenv
[(sudo apt-get install python-virtualenv) for ubuntu]

使用virtualenvwrapper

virtualenvwrapper是virtualenv的擴(kuò)展工具
可以方便的創(chuàng)建、刪除、復(fù)制、切換不同的虛擬環(huán)境

  1. 安裝virtualenvwrapper
    pip install virtualenvwrapper
  2. 設(shè)置環(huán)境變量,把下面兩行添加到~/.bashrc里。
    if [ -f /usr/local/bin/virtualenvwrapper.sh ]; then
    export WORKON_HOME=$HOME/.virtualenvs
    source /usr/local/bin/virtualenvwrapper.sh
    fi
    執(zhí)行source ~/.bashrc , 然后就可以使用virtualenvwrapper了。
  3. 創(chuàng)建虛擬環(huán)境
    mkvirtualenv [虛擬環(huán)境名稱]
  4. 命令列表
    列出虛擬環(huán)境
    lsvirtualenv -b
    切換虛擬環(huán)境
    workon [虛擬環(huán)境名稱]
    查看環(huán)境里安裝了哪些包
    lssitepackages
    進(jìn)入當(dāng)前環(huán)境的目錄
    cdvirtualenv [子目錄名]
    復(fù)制虛擬環(huán)境
    cpvirtualenv [source] [dest]
    退出虛擬環(huán)境
    deactivate
    刪除虛擬環(huán)境
    rmvirtualenv [虛擬環(huán)境名稱]

Git安裝

1、 二進(jìn)制方式安裝:
$ sudo apt-get install git-core (or ‘sudo apt-get install git-core’)


Nginx+uwsgi配置

nginx本身只能調(diào)用靜態(tài)文件, 它需要依賴網(wǎng)關(guān)協(xié)議文件來調(diào)用腳本.
uwsgi是nginx的標(biāo)準(zhǔn)模塊, 用于調(diào)用其它腳本.
修改nginx的配置文件conf/nginx.conf以指向uwsgi

location / {
    include uwsgi_params;
    uwsgi_pass 127.0.0.1:5000;
    root   html;
    index  index.html index.htm;
}

修改uwsgi文件, 配置腳本文件app_config.xml,
即運(yùn)行的文件名以及應(yīng)用名(nginx, uwsgi和app間需要通過socket進(jìn)行交互)

<uwsgi>
     <pythonpath>/home/chenjiebin/web/flaskdemo</pythonpath>
     <module>flask</module>
     <callable>app</callable>
     <socket>127.0.0.1:5000</socket>
     <master/>
     <processes>4</processes>
     <memory-report/>
</uwsgi>

pythonpath表示項(xiàng)目目錄
module表示項(xiàng)目啟動(dòng)模塊,如上例為app.py,這里就為app
callable表示flask項(xiàng)目的實(shí)例名稱,上例代碼中app = Flask(name),所以這里為app
socket表示和nginx通信的地址和端口,和nginx配置里的uwsgi_pass一致。
processes表示開啟多少個(gè)子進(jìn)程處理請(qǐng)求。

MongnDB安裝(3.2.8版本)

wget https://fastdl.mongodb.org/linux/mongodb-linux-x86_64-ubuntu1604-3.2.9.tgz
解壓之后即可使用,配置參考我的相應(yīng)文章

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容