文档章节

在Mopaas上部署WSGI类型的(Django, Tornado, Flask)Python应用

糖果L5Q
 糖果L5Q
发布于 2015/09/09 10:38
字数 519
阅读 74
收藏 1

第一部分:安装必要工具。

1.因为这是部署Python开发环境,所以安装pip可以简化一些软件的安装过程。(PIP对应Lua的luarocks)

sudo apt-get install python-pip

安装三个Python框架

sudo pip install flask

sudo pip install django==1.5.1

sudo pip install tornado==3.1.1

2.安装Gunicorn,这是运行Python的WSGI HTTP服务。

sudo pip install gunicorn

3.Virtualenv, 安装这个是因为,在部署Django的时候,使用了不同的版本。

sudo pip install virtualenv


第二部分:创建部署应用。

1.创建一个WSGI类型的Tornado应用。

import tornado.web

import tornado.wsgi

class MainHandler(tornado.web.RequestHandler):

    def get(self):

        self.write("My source code in the MoPaas server by python Tornado!")

       

settings = {

    "debug" : True,

    "static_path": "static",

}

#####

urls = [

    (r"/", MainHandler),

]

app = tornado.wsgi.WSGIApplication(urls, **settings)

启动这个服务:

gunicorn -w 4 torapp:app -b 0.0.0.0:8888

2.创建一个Flask应用。

from flask import Flask

app = Flask(__name__)

@app.route("/")

def hello():

    return "My source code in the MoPaas server by python Tornado!"

if __name__ == "__main__":

    app.run()

启动这个服务:

gunicorn -w 4 server:app -b 0.0.0.0:8888

3.创建Django应用。

Django是一个比较大的WEB应用,创建各部署的过程,稍微复杂一些。

创建工程 

django-admin.py startproject hotdoc

创建应用

python manage.py startapp verp

创建数据库表

python manage.py syncdb

启动工程

gunicorn hotdoc.wsgi:application -b 0.0.0.0:8888

需要在修改工程目录下的settings.py

在INSTALLED_APPS中加入,  verup和gunicorn:

INSTALLED_APPS = (

    'django.contrib.admin',

    'django.contrib.auth',

    'django.contrib.contenttypes',

    'django.contrib.sessions',

    'django.contrib.messages',

    'django.contrib.staticfiles',

    'verup',

    'gunicorn'

)

以上,本地开发环境是没问题的。

这些步骤也可以用virtualenv新创建一个虚拟环境完成,本地创建virtualenv可以

目前在WEB IDE上没有测试通过,理论上说,如果coding的WEB IDE是基于Docker

的,virtualevn也应该好用。

mkdir ~/environments/

virtualenv ~/environments/tutorial/

cd  ~/environments/tutorial/bin

source bin/activate

目前的Paas平台上的Python服务就是WSGI形式的应用,比如SAE和Mopaas,

不同的是,在SAE上有些现成的例子。Mopaas需要自己从头写,这三个例子

在Mopaas生产环境下都运行测试通过。在coding.net的WEB IDE也可成功运

行。



本文转载自:http://www.epubit.com.cn/article/143

共有 人打赏支持
糖果L5Q
粉丝 0
博文 1
码字总数 0
作品 0
朝阳
深入理解 Python WSGI:一起写一个 Web 服务器

导读: 本系列深入浅出的讲述了如何用 Python 从 0 开始,写一个 web 服务器,并让其与业界流行的 web 框架协同工作,最后还进一步完善了开头的 web 服务器 demo,让其可以支持多并发请求的处...

大数据之路
2015/08/03
0
0
如何在Mopaas上,创建部署WSGI类型的(Django, Tornado, Flask)Python应用 ?

第一部分:安装必要工具。 1.因为这是部署Python开发环境,所以安装pip可以简化一些软件的安装过程。(PIP对应Lua的luarocks) sudo apt-get install python-pip安装三个Python框架 sudo pip...

糖果L5Q
2015/09/09
432
2
部署基于 python wsgi web 框架的工程到函数计算

本文旨在介绍如何将基于 WSGI web 框架构建的工程部署到函数计算 python runtime 的具体操作过程,在介绍操作过程之前,先了解几个概念。 相关概念导读 函数计算 HTTP 触发器 HTTP 触发器是众...

cici是夏莞
05/19
0
0
Python Web部署方式总结

学过PHP的都了解,php的正式环境部署非常简单,改几个文件就OK,用FastCgi方式也是分分钟的事情。相比起来,Python在web应用上的部署就繁杂的多,主要是工具繁多,主流服务器支持不足,在了解...

Yamazaki
2015/11/16
0
0
基于SAE python 开源应用收集

虽然目前SAE python还在内测,但开发者还能较顺利获得邀请码。现在已经出现了好多应用,大部分是以练习的形式出现,收集了一些开源的应用,供大家参观学习。 SAE python blog1)SAEpy-log 框...

huxueyi
2012/02/05
0
1

没有更多内容

加载失败,请刷新页面

加载更多

CentOS7防火墙firewalld操作

firewalld Linux上新用的防火墙软件,跟iptables差不多的工具。 firewall-cmd 是 firewalld 的字符界面管理工具,firewalld是CentOS7的一大特性,最大的好处有两个:支持动态更新,不用重启服...

dingdayu
今天
1
0
关于组件化的最初步

一个工程可能会有多个版本,有国际版、国内版、还有针对各种不同的渠道化的打包版本、这个属于我们日常经常见到的打包差异化版本需求。 而对于工程的开发,比如以前的公司,分成了有三大块业...

DannyCoder
今天
2
0
Spring的Resttemplate发送带header的post请求

private HttpHeaders getJsonHeader() { HttpHeaders headers = new HttpHeaders(); MediaType type = MediaType.parseMediaType("application/json; charset=UTF-8"); ......

qiang123
昨天
3
0
Spring Cloud Gateway 之 Only one connection receive subscriber allowed

都说Spring Cloud Gateway好,我也来试试,可是配置了总是报下面这个错误: java.lang.IllegalStateException: Only one connection receive subscriber allowed. 困扰了我几天的问题,原来...

ThinkGem
昨天
26
0
学习设计模式——观察者模式

1. 认识观察者模式 1. 定义:定义对象之间一种一对多的依赖关系,当一个对象状态发生变化时,依赖该对象的其他对象都会得到通知并进行相应的变化。 2. 组织结构: Subject:目标对象类,会被...

江左煤郎
昨天
4
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部