我試圖從Openshift2到Openshift3遷移我的旋風式的應用程序配置Openshift 3,不知道如何實際設定的路線,服務等不能與龍捲風服務器
首先,我創建簡單的Python 3.5應用程序在RHEL 7中。在高級選項中,我設置了git repo,添加了APP_FILE
變量。成功完成克隆和應用程序構建。而我在網絡控制檯終端執行curl localhost:8080
,它似乎工作。
但服務根鏈接返回此消息:
應用程序當前沒有放送此端點請求
應用程序不可用。它可能尚未啓動或仍在啓動。
我實際上沒有改變路由和服務配置中的任何東西,我想我應該設置它。但現在沒有任何想法如何做到這一點。
這裏是我的wsgi.py
:
#!/usr/bin/env python
import importlib.machinery
if __name__ == '__main__':
print('Executing __main__ ...')
ip = 'localhost'
port = 8080
app = importlib.machinery.SourceFileLoader("application", 'wsgi/application').load_module("application")
from wsgiref.simple_server import make_server
httpd = make_server(ip, port, app.application)
print('Starting server on http://{0}:{1}'.format(ip, port))
httpd.serve_forever()
而且application
:
#!/usr/bin/env python
import os
import sys
import tornado.wsgi
from wsgi.openshift import handlers
if 'OPENSHIFT_REPO_DIR' in os.environ:
sys.path.append(os.path.join(os.environ['OPENSHIFT_REPO_DIR'], 'wsgi',))
virtenv = os.environ['OPENSHIFT_PYTHON_DIR'] + '/virtenv/venv'
os.environ['PYTHON_EGG_CACHE'] = os.path.join(virtenv, 'lib/python3.3/site-packages')
virtualenv = os.path.join(virtenv, 'bin/activate_this.py')
try:
exec(compile(open(virtualenv).read(), virtualenv, 'exec'), dict(__file__=virtualenv))
except IOError:
pass
settings = {
'cookie_secret': 'TOP_SECRET',
'static_path' : os.path.join(os.getcwd(), 'wsgi/static'),
'template_path' : os.path.join(os.getcwd(), 'wsgi/templates'),
'xsrf_cookies': False,
'debug': True,
'login_url': '/login',
}
application = tornado.wsgi.WSGIApplication(handlers, **settings)
編輯:
下面是一些控制檯oc
輸出:
> oc status
In project photoservice on server https://api.starter-us-west-1.openshift.com:443
http://photoservice-photoservice.a3c1.starter-us-west-1.openshiftapps.com to pod port 8080-tcp (svc/photoservice)
dc/photoservice deploys istag/photoservice:latest <-
bc/photoservice source builds [email protected]:ashchuk/photoservice.git#master on openshift/python:3.5
deployment #1 deployed 3 minutes ago - 1 pod
View details with 'oc describe <resource>/<name>' or list everything with 'oc get all'.
> oc get routes
NAME HOST/PORT PATH SERVICES PORT TERMINATION WILDCARD
photoservice photoservice-photoservice.a3c1.starter-us-west-1.openshiftapps.com photoservice 8080-tcp None
如果你運行oc獲取路由,你會得到什麼?什麼OpenShift實例是這個在線免費層實例之一?如果是,哪個實例,us-east1,us-west-1還是其他? –
免費入門美國西部(加州)實例。我添加一些控制檯輸出到問題的編輯。 – ashchuk
嘗試將''ip ='localhost'''更改爲''ip ='0.0.0.0'''。它可能只在localhost上監聽,並且不會接受來自外部的連接。 –