当 运行 一个 python 应用程序在 OpenShift 上执行时会执行什么?
What gets executed when running a python app on OpenShift?
当 运行 在 OpenShift 上运行 Flask 应用程序时,我对最初 运行 获取什么文件感到困惑。有一个创建 wsgiref.simple_server 的 wsgi.py 文件,但上面的评论说它仅用于测试。谁能解释应用程序是如何执行的?我很难理解这个过程,以及 Web 服务器在图片和应用程序代码中的确切位置。
wsgi.py:
import os
virtenv = os.path.join(os.environ.get('OPENSHIFT_PYTHON_DIR','.'), 'virtenv')
virtualenv = os.path.join(virtenv, 'bin/activate_this.py')
try:
execfile(virtualenv, dict(__file__=virtualenv))
except IOError:
pass
#
# IMPORTANT: Put any additional includes below this line. If placed above this
# line, it's possible required libraries won't be in your searchable path
#
from flaskapp import app
#
# Below for testing only
#
if __name__ == '__main__':
from wsgiref.simple_server import make_server
host = app.config['HOST_NAME']
ip = app.config['HOST_IP']
httpd = make_server(host, ip, app)
httpd.handle_request()
flaskapp.py
import os
virtenv = os.path.join(os.environ.get('OPENSHIFT_PYTHON_DIR','.'), 'virtenv')
virtualenv = os.path.join(virtenv, 'bin/activate_this.py')
try:
execfile(virtualenv, dict(__file__=virtualenv))
except IOError:
pass
#
# IMPORTANT: Put any additional includes below this line. If placed above this
# line, it's possible required libraries won't be in your searchable path
#
from flaskapp import app
#
# Below for testing only
#
if __name__ == '__main__':
from wsgiref.simple_server import make_server
host = app.config['HOST_NAME']
ip = app.config['HOST_IP']
httpd = make_server(host, ip, app)
httpd.handle_request()
在这里查看我在另一个 SO 问题中的回答。
How to create app using pyramid into openshift?
我认为我在 github 示例中的最后一次提交使用了 "wsgi.py" 入口点。我更喜欢使用 "app.py" 作为入口点。我发现它问题更少,更可靠。
继续将 "app.py disabled" 重命名为 "app.py" 并删除 wsgi.py。
我在示例中使用金字塔而不是烧瓶,但设置相似。
当 运行 在 OpenShift 上运行 Flask 应用程序时,我对最初 运行 获取什么文件感到困惑。有一个创建 wsgiref.simple_server 的 wsgi.py 文件,但上面的评论说它仅用于测试。谁能解释应用程序是如何执行的?我很难理解这个过程,以及 Web 服务器在图片和应用程序代码中的确切位置。
wsgi.py:
import os
virtenv = os.path.join(os.environ.get('OPENSHIFT_PYTHON_DIR','.'), 'virtenv')
virtualenv = os.path.join(virtenv, 'bin/activate_this.py')
try:
execfile(virtualenv, dict(__file__=virtualenv))
except IOError:
pass
#
# IMPORTANT: Put any additional includes below this line. If placed above this
# line, it's possible required libraries won't be in your searchable path
#
from flaskapp import app
#
# Below for testing only
#
if __name__ == '__main__':
from wsgiref.simple_server import make_server
host = app.config['HOST_NAME']
ip = app.config['HOST_IP']
httpd = make_server(host, ip, app)
httpd.handle_request()
flaskapp.py
import os
virtenv = os.path.join(os.environ.get('OPENSHIFT_PYTHON_DIR','.'), 'virtenv')
virtualenv = os.path.join(virtenv, 'bin/activate_this.py')
try:
execfile(virtualenv, dict(__file__=virtualenv))
except IOError:
pass
#
# IMPORTANT: Put any additional includes below this line. If placed above this
# line, it's possible required libraries won't be in your searchable path
#
from flaskapp import app
#
# Below for testing only
#
if __name__ == '__main__':
from wsgiref.simple_server import make_server
host = app.config['HOST_NAME']
ip = app.config['HOST_IP']
httpd = make_server(host, ip, app)
httpd.handle_request()
在这里查看我在另一个 SO 问题中的回答。
How to create app using pyramid into openshift?
我认为我在 github 示例中的最后一次提交使用了 "wsgi.py" 入口点。我更喜欢使用 "app.py" 作为入口点。我发现它问题更少,更可靠。
继续将 "app.py disabled" 重命名为 "app.py" 并删除 wsgi.py。
我在示例中使用金字塔而不是烧瓶,但设置相似。