flask程序部署在openshift上的一些注意事项

1、所有的程序放在wsgi文件夹下,

application文件的写法:

#!/usr/bin/python

import os

import sys

 

sys.path.insert(0, os.path.dirname(__file__) or '.')

 

PY_DIR = os.path.join(os.environ['OPENSHIFT_HOMEDIR'], "python")

 

virtenv = PY_DIR + '/virtenv/'

 

PY_CACHE = os.path.join(virtenv, 'lib', '2.6', 'site-packages')

 

os.environ['PYTHON_EGG_CACHE'] = os.path.join(PY_CACHE)

virtualenv = os.path.join(virtenv, 'bin/activate_this.py')

 

try:

    execfile(virtualenv, dict(__file__=virtualenv))

except IOError:

    pass

 

from run import app as application

 

run就是含有app.run()的一个文件

2、run文件里的app.run()不能运行,最好这样写:

#!/usr/bin/python

# -*- coding: UTF-8 -*-

 

from app import app

if __name__ == "__main__":

    app.run(debug = True)

 

3、setup.py里面的name应该是:https://xxxxx.rhcloud.com,而不是控制台里面的实例名字。

4、flask-sqlalchemy连接数据库的url应该这样写:

app.config['SQLALCHEMY_DATABASE_URI'] = os.environ['OPENSHIFT_MYSQL_DB_URL'] + 'xxx'

xxx是自己创建的数据库。

如果使用openshift创建数据库时以创建的数据库,那么连接应该这样写:

app.config['SQLALCHEMY_DATABASE_URI'] = os.environ['OPENSHIFT_MYSQL_DB_URL'] + os.environ['OPENSHIFT_APP_NAME']

 

忙了一晚上,就折腾了这样一点,唉。。。。

 

你可能感兴趣的:(flask程序部署在openshift上的一些注意事项)