Ubuntu server 12.04 LTS下 Nginx+uwsgi+Python-Flask 运行环境搭建

首先,得有一个Ubuntu服务器(当然或者其他)


  • 开发环境搭建
    (以下安装都是在root超级用户,使用apt-get简易安装)

1、nginx 安装

apt-get install nginx

完成安装后测试
启动nginx

/etc/init.d/nginx start
# 或者
service nginx start

在终端输入curl 127.0.0.1:5000测试是否显示nginx欢迎信息

2、uwsgi安装

wget http://projects.unbit.it/downloads/uwsgi-2.0.5.1.tar.gz python setup.py install

验证成功
/usr/bin/uwsgi -h
出现帮助提示就行了

3、uwsgi-plugin-python安装
如果缺少它将出现502 bad gateway的网页,uwsgi的log日志会提示 – unavailable modifier requested: 0

apt-get install uwsgi uwsgi-plugin-python

4、python安装
Ubuntu提供了一个良好的python开发环境,Ubuntu12.04自带了python2.7和python3,可以自己选用

5、python-pip安装

apt-get install python-pip

如果失败需要先安装python-dev

6、flask安装

pip install flask

7、其他python模快都可以使用pip安装了,是否需要使用虚拟机,看自己喜好

  • nginx和uwsgi配置

1、先添加一个项目目录Test在/usr/local/src下,新建测试程序test.py

# /usr/local/src/Test/test.py
from flask import Flask
app = Flask(__name__)

@app.route("/")
def hello():
    return "Hello World!"

if __name__ == "__main__":
    app.run()

给项目目录配置权限,nginx和uwsgi默认是以www-data用户和组来运行:
chown -R www-data:www-data /usr/local/src/Test
chmod -R 775 /usr/local/src/Test

2、修改nginx配置文件 /etc/nginx/sites-available/default

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

3、修改uwsgi文件,在/etc/uwsgi/apps-available目录下添加一个配置文件app_config.xml

<uwsgi>
    <pythonpath>/usr/local/src/Test</pythonpath>
    <plugins>python</plugins>
    <module>test</module>
    <callable>app</callable>
    <socket>127.0.0.1:5000</socket>
    <master/>
    <processes>4</processes>
    <memory-report/>
</uwsgi>
pythonpath表示项目目录
module表示项目启动模块,如上例为test.py,这里就为test
callable表示Test项目的实例名称,上例代码中app = Flask( name ),所以这里为app
socket表示和nginx通信的地址和端口,和nginx配置里的uwsgi_pass一致。
processes表示开启多少个子进程处理请求。
  • 部署,启动测试
    启动uwsgi
    uwsgi -x app_config.xml
    不要关闭此Terminal
    新打开一个Terminal(Alt + Fx),登录进去

启动nginx
service nginx start

测试
在浏览器中输入ip就能看到“Hello World!”


Ubuntu apt-get 安装nginx和uwsgi 目录结构

  1. nginx的目录存放位置
    配置文件目录 /etc/nginx
    网站资源文件存放位置 /usr/share/nginx

ubuntu的配置文件分成三部分:

/etc/nginx根目录存放公共的配置

在sites_available和sites_enabled配置站点相关的信息例如域名端口等等。

/etc/nginx# tree
├── conf.d  
├── fastcgi_params  
├── koi-utf  
├── koi-win  
├── mime.types  
├── nginx.conf  
├── proxy_params  
├── scgi_params  
├── sites-available  
│   └── default  
├── sites-enabled  
│   └── default -> /etc/nginx/sites-available/default  
├── uwsgi_params  
└── win-utf  
/usr/share/nginx# tree
.  
└── html  
    └── index.html  

2 . uwsgi的目录存放位置
配置文件目录 /etc/uwsgi
资源文件 /usr/share/uwsgi

………..

不想写了…….

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值