本文環(huán)境搭建在64位的Ubuntu 16.04 Server上.
Nginx安裝
nginx依賴以下模塊:
- gzip模塊需要 zlib 庫(kù)
- rewrite模塊需要 pcre 庫(kù)
- ssl 功能需要openssl庫(kù)
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測(cè)試網(wǎng)頁(yè))
獲取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))
國(guó)內(nèi)使用npm比較慢,可以考慮使用淘寶提供的cnpm:(經(jīng)測(cè)試,淘寶源不太還用...)
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)境
- 安裝virtualenvwrapper
pip install virtualenvwrapper - 設(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了。 - 創(chuàng)建虛擬環(huán)境
mkvirtualenv [虛擬環(huán)境名稱] - 命令列表
列出虛擬環(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é)議文件來(lái)調(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間需要通過(guò)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)文章