/ 中存储网

CentOS系统安装配置nginx+uwsgi运行环境

2014-07-30 11:27:14 来源:kejihao
用Python做web应用最麻烦的就是配置服务器环境了,它不像PHP那样简单配置下再把.php文件扔进web目录就可以了,而且当前配置python web环境的方法也有很多种,对于新手而言实在是折腾得难过。这里记录一下我在CentOS上编译、配置的nginx+uwsgi环境的情况。

准备

先更新系统,并安装编译环境等等。

yum update
yum install python python-devel libxml2 libxml2-devel python-setuptools zlib-devel wget openssl-devel pcre pcre-devel sudo gcc make autoconf automake

编译安装uwsgi

uwsgi的官方网站是http://projects.unbit.it/uwsgi/,这里我们下载它的当前稳定版本。

wget http://projects.unbit.it/downloads/uwsgi-1.0.4.tar.gz
tar -zxvf uwsgi-1.0.4.tar.gz # 解压
mv uwsgi-1.0.4 uwsgi # 重命名为uwsgi,仅仅为了方便
cd uwsgi  "c"># 切换到uwsgi目录
python setup.py build # 编译安装
make

下面将编译产生的可执行文件移动到/usr/bin里面去

编译安装nginx

nginx的官方网站是http://nginx.org,这里我们依然下载它的稳定版。

cd ~
wget http://nginx.org/download/nginx-1.0.13.tar.gz
tar -zxvf nginx.1.0.13.tar.gz
mv nginx-1.0.13 nginx
cd nginx
./configure --prefix "o">=/usr/local/nginx # 编译选项配置,这里从简
make && make install  "c"># 编译安装

我们再将生成的nginx可执行文件在/usr/sbin里建立软链接

ln -s /usr/local/nginx/sbin/nginx /usr/sbin/nginx

配置nginx

使用vi /usr/local/nginx/conf/nginx.conf打开nginx配置文件,将以下内容加入/修改到server里(至于vi/vim的使用,呃,自己学吧):

location /{
uwsgi_pass 127.0.0.1:9001;
include uwsgi_params;
}
ESC,输入:wq保存并退出。

测试

这里以 Flask 为例,安装Flask的简单方法是(前提是已安装了pip):

pip install flask

为了方便,这里在/usr/share里新建文件myapp.py

from flask import Flask
app = Flask(__name__)
app.debug = True
@app.route('/')
def index():
    return 'Hello World!'
然后我们启动nginx和uwsgi:
nginx
cd /usr/share
uwsgi -s 127.0.0.1:9001 -w myapp:app -d /var/log/uwsgi.log

接着浏览器打开localhost,如果看到大大的邪恶的Hello World!即表示配置成功!