文档章节

nginx+uwsgi+flask环境搭建

L很失败L
 L很失败L
发布于 2015/08/08 13:48
字数 629
阅读 1697
收藏 15

想自己搭建一个Blog,功能不是很复杂,所以选用了python的flask框架,在参照网上的资料搭出Hello World之后将知识汇总一下,以便以后查看。

系统:Ubuntu 14.04

首先安装flask,nginx,pip(方便安装 uwsgi),python-dev(uwsgi需要python头文件进行编译)

sudo apt-get install python-flask nginx python-pip python-dev
sudo pip install uwsgi

#uwsgi的安装注意依赖,可以参见uwsgi安装
#nginx的安装比较简单,安装后可以使用 nginx -v查看是否安装成功

下面开始创建web应用,由于只是尝试搭建,所以这里只是弄了一个简单的HelloWorld,如果想真正的搭建完整的环境,请参看uwsginginx的文档

首先创建工程的目录,在下/home/zhx/下,命名为my_flask,

在my_flask下创建应用目录,命名为app,在app文件夹下创建__init__.py文件,用来标示这是一个python-package

__init__.py中内容如下:

#!/usr/bin/env python
#-*-coding=utf-8-*-

from flask import Flask

App = Flask(__name__)

@App.route("/")
def index():
    return "Hello World"

#之后想丰富view函数可以参见flask的文档

在my_flask目录下创建config.xml文件,内容如下:

 <uwsgi>
     <pythonpath>/home/zhx/my_flask/</pythonpath> <!--工程的根目录 也可以理解为应用的父目录-->
     <module>app</module><!--应用所在目录的名称-->
     <callable>App</callable><!--应用中的具体调用实例,这里是App-->
     <socket>/tmp/uwsgi.sock</socket><!--用来和nginx交互的缓存文件,也可以使用端口,例如127.0.0.1:9090-->
     <master/>
     <processes>1</processes> <!--应用运行的进程数-->
     <memory-report/>
</uwsgi>

#具体配置的讲解可以参见uwsgi的配置

#也可以使用man查看,

接下来配置nginx,在/etc/nginx/sites-available/目录下创建site,内容如下:

server{
    listen 80;
    server_name 127.0.0.1;
    location / {
               include uwsgi_params;
               uwsgi_pass unix:/tmp/uwsgi.sock; #注意要和上面的缓存文件用一个名字
     }
}

#将/etc/nginx/sites-available/下的default文件备份一下,

mv  /etc/nginx/sites-available/default  /etc/nginx/sites-available/default.back

配置工作已经完成,现在可以启动试一下。目录切到工程目录下,即/home/zhx/my_flask/下

sudo uwsgi -x config.xml

然后会提示一大堆,注意看看有没有unable的字眼,如果没有就是启动成功了(配置好应用和工程的目录就可以成功启动)

这时在打开另一个终端,

sudo chmod 777 /tmp/uwsgi.sock #为了交互,需要设置权限

然后启动nginx就可以了

sudo /etc/init.d/nginx start

接着在浏览器访问127.0.0.1就可以看到helloworld了。

© 著作权归作者所有

共有 人打赏支持
L很失败L
粉丝 2
博文 14
码字总数 7388
作品 0
合肥
程序员
加载中

评论(2)

hotsmile
hotsmile
不错,学习了!!!
天音下雨
学习了,
Linux搭建Python web环境(nginx + flask + uwsgi)

去年的时候,就曾使用Nginx+Flask+uwsgi搭建过python的web环境。但在最近搭建的时候,又去网上找了一遍教程,所以打算写一篇笔记做下记录。 在搭建之前,有必要了解下发送一个请求的整个流程...

liuchungui
05/14
0
0
FLASK上传时有中文文件名的解决方案

场景是在nginx+uwsgi+flask时上传文件名为中文时nginx报502错,设置各各地方为utf8后无果,最后妥协了.解决方案一:拼接+安全检查 解决方案2:转成拼音pip install pypinyin...

雨花
2016/05/18
74
0
nginx+uwsgi+flask配置记录

nginx部分: nginx使用nginx官方yum源 详情:http://nginx.org/en/download.html nginx的配置文件: server { access_log /var/log/nginx/iday.me.access.log main; include uwsgi_params; ......

Risol
2012/08/03
0
4
为什么用Docker,Docker究竟有什么用呢

近年来,Docker越来越火爆,一大堆新概念,轻量级虚拟机,集装箱等概念,眼光缭乱。 慢慢也尝试用vagrant+docker搭建开发环境 和 服务器也用docker搭建测试环境,再逐步正式环境也用上docke...

小和
2016/11/03
73
2
【转帖】测试环境的搭建和维护

只要做过一次测试,就一定知道测试环境,但测试环境是如何搭建和维护的呢?就不一定所有人都明白了。 测试环境的搭建,每个公司都有不一样的流程和方法。一种是运维或者开发负责搭建和维护,...

12332111ss
2016/04/28
152
0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

python3.6 取整除法

python3.6 中取整除法运算逻辑如下: d 非零,那么商 q 满足这样的关系: a = qd + r ,且0 ≤ r n1=7//3#7 = 3*2 +1n2=-6.1//3#-7 = 3*(-3)+2'{},{}'.format(n1,n2) 从运行结果可以...

colinux
25分钟前
3
0
阶段总结——用虚拟机搭建一个高可用负载均衡集群架构

[toc] linux基本知识已经介绍完,现有一个业务需要操作,通过对这个项目的操作,可以复习、总结、巩固之前的知识点; ** 用13台虚拟机搭建一个高可用负载均衡集群架构出来,并运行三个站点,...

feng-01
28分钟前
0
0
mysql 设置utf8字符集 (CentOS)

1.查看数据库及mysql应用目前使用的编码方式 (1)链接mysql 客户端 (2)执行:status 结果: 2.修改mysql 应用的字符编码(server characterset ) (1)打开配置文件:vim /etc/mysql/my...

qimh
28分钟前
0
0
windows无法格式化u盘解决方法

1。点开始-运行-输入cmd-format f: /fs: fat32 (这里f:是指U盘所在盘符) 这个格式化会很慢 请耐心等待

大灰狼wow
40分钟前
0
0
MySql 8.0连接失败

原来,MySql 8.0.11 换了新的身份验证插件(caching_sha2_password), 原来的身份验证插件为(mysql_native_password)。而客户端工具Navicat Premium12 中找不到新的身份验证插件(caching_s...

放飞E梦想O
57分钟前
1
0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

返回顶部
顶部