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

第一部分:安裝必要工具。python

1.由於這是部署Python開發環境,因此安裝pip能夠簡化一些軟件的安裝過程。(PIP對應Lua的luarocks)web

sudo apt-get install python-pip數據庫

安裝三個Python框架django

sudo pip install flaskflask

sudo pip install django==1.5.1session

sudo pip install tornado==3.1.1app

2.安裝Gunicorn,這是運行Python的WSGI HTTP服務。框架

sudo pip install gunicorntornado

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也可成功運

行。

相關文章
相關標籤/搜索