以下代码在我的系统的localhost中没有任何问题...但是没有在OpenShift上完成工作.. 我的 wsgi.py 有问题。我是否必须使用环境变量传递我的用户名和密码或者我需要更改 localhost ?
以下是目录/ repository ...
的树myflaskaws
├── requirements.txt
├── setup.py
├── static
│ ├── assets
│ │ ├── style.css
│ └── images
│ ├── no.png
│ └── yes.png
├── templates
│ ├── index.html
│ ├── login.html
│ ├── searchlist.html
│ ├── update.html
├── test.py
├── test.pyc
└── wsgi.py`
wsgi.py
#!/usr/bin/python
import os
virtenv = os.environ['OPENSHIFT_PYTHON_DIR'] + '/virtenv/'
virtualenv = os.path.join(virtenv, 'bin/activate_this.py')
try:
execfile(virtualenv, dict(__file__=virtualenv))
except IOError:
pass
from test import app as application
if __name__ == '__main__':
from wsgiref.simple_server import make_server
httpd = make_server('localhost', 8051, application)
print("Serving at http://localhost:8051/ \n PRESS CTRL+C to Terminate. \n")
httpd.serve_forever()
print("Terminated!!")
test.py
from flask import Flask
app = Flask(__name__)
PS:我没有在 test.py中使用如果名称 =='主要':“强>
答案 0 :(得分:0)
是的,您需要使用Openshift的环境变量来设置IP和端口。
尝试添加以下代码以设置正确的IP和端口,具体取决于您是在OS还是localhost上。
Import os
if 'OPENSHIFT_APP_NAME' in os.environ: #are we on OPENSHIFT?
ip = os.environ['OPENSHIFT_PYTHON_IP']
port = int(os.environ['OPENSHIFT_PYTHON_PORT'])
else:
ip = '0.0.0.0' #localhost
port = 8051
httpd = make_server(ip, port, application)