如何在Mopaas上,创建部署WSGI类型的(Django, Tornado, Flask)Python应用 ?

发布于 2021-12-01 08:45:41 字数 7360 浏览 893 评论 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也可成功运

行。


作者:糖果

PS:转载到其它平台请注明作者姓名及原文链接。

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

辞别 2021-12-01 14:55:14

d对于这样的应用怎么搞?一直部署django不成功,求指教

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文