Nginx+uWsgi+Flask+MongnDB环境搭建

本文环境搭建在64位的Ubuntu 16.04 Server上.

Nginx安装

nginx依赖以下模块:

  • gzip模块需要 zlib 库
  • rewrite模块需要 pcre 库
  • ssl 功能需要openssl库

1.1.安装pcre

获取pcre编译安装包,在http://www.pcre.org/上可以获取当前最新的版本
解压缩pcre-xx.tar.gz包。
进入解压缩目录,执行./configure。
sudo make & make install

1.2.安装openssl(此步骤可以忽略, Ubuntu 16.04 Server 已经自带)

获取openssl编译安装包,在http://www.openssl.org/source/上可以获取当前最新的版本。
解压缩openssl-xx.tar.gz包。
进入解压缩目录,执行./config。
sudo make & make install

1.3.安装zlib

获取zlib编译安装包,在http://www.zlib.net/上可以获取当前最新的版本。
解压缩zlib-xx.tar.gz包。
进入解压缩目录,执行./configure。
sudo make & make install

1.4.安装nginx(安装完之后需要手动启动,命令行可以安装curl测试网页)

获取nginx,在http://nginx.org/en/download.html上可以获取当前最新的版本。
解压缩nginx-xx.tar.gz包。
进入解压缩目录,执行./configure
sudo make & make install
sudo /usr/local/nginx/sbin/nginx

1.5.安装uwsgi

sudo -H pip install uwsgi

注意:将pip安装的源设置为豆瓣的源
建个文件 ~/.pip/pip.conf, 内容如下

[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中,执行 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 (全局环境安装)
npm install --save-dev gulp (项目本地安装)
cd app/ npm install (根据package.json安装Gulp依赖项)
国内使用npm比较慢,可以考虑使用淘宝提供的cnpm:(经测试,淘宝源不太还用...)
npm install -g cnpm --registry=https://registry.npm.taobao.org
或者考虑下面的方法
npm --registry=https://registry.npm.taobao.org install xxxxx


===>此处为局部安装

Virtualenv安装(使用虚拟环境时需要安装)
sudo pip install virtualenv
[(sudo apt-get install python-virtualenv) for ubuntu]

使用virtualenvwrapper

virtualenvwrapper是virtualenv的扩展工具
可以方便的创建、删除、复制、切换不同的虚拟环境

  1. 安装virtualenvwrapper
    pip install virtualenvwrapper
  2. 设置环境变量,把下面两行添加到~/.bashrc里。
    if [ -f /usr/local/bin/virtualenvwrapper.sh ]; then
    export WORKON_HOME=$HOME/.virtualenvs
    source /usr/local/bin/virtualenvwrapper.sh
    fi
    执行source ~/.bashrc , 然后就可以使用virtualenvwrapper了。
  3. 创建虚拟环境
    mkvirtualenv [虚拟环境名称]
  4. 命令列表
    列出虚拟环境
    lsvirtualenv -b
    切换虚拟环境
    workon [虚拟环境名称]
    查看环境里安装了哪些包
    lssitepackages
    进入当前环境的目录
    cdvirtualenv [子目录名]
    复制虚拟环境
    cpvirtualenv [source] [dest]
    退出虚拟环境
    deactivate
    删除虚拟环境
    rmvirtualenv [虚拟环境名称]

Git安装

1、 二进制方式安装:
$ sudo apt-get install git-core (or ‘sudo apt-get install git-core’)


Nginx+uwsgi配置

nginx本身只能调用静态文件, 它需要依赖网关协议文件来调用脚本.
uwsgi是nginx的标准模块, 用于调用其它脚本.
修改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,
即运行的文件名以及应用名(nginx, uwsgi和app间需要通过socket进行交互)


     /home/chenjiebin/web/flaskdemo
     flask
     app
     127.0.0.1:5000
     
     4
     

pythonpath表示项目目录
module表示项目启动模块,如上例为app.py,这里就为app
callable表示flask项目的实例名称,上例代码中app = Flask(name),所以这里为app
socket表示和nginx通信的地址和端口,和nginx配置里的uwsgi_pass一致。
processes表示开启多少个子进程处理请求。

MongnDB安装(3.2.8版本)

wget https://fastdl.mongodb.org/linux/mongodb-linux-x86_64-ubuntu1604-3.2.9.tgz
解压之后即可使用,配置参考我的相应文章

你可能感兴趣的:(Nginx+uWsgi+Flask+MongnDB环境搭建)