引导Django 1.7应用程序部署在OpenShift上

时间:2014-11-18 04:42:58

标签: python django openshift

我想在openshift上部署Django 1.7应用程序。 我已经尝试了给出的步骤 Deploying a local django app using openshift 但是我得到了

503服务不可用 没有服务器可以处理此请求。

错误讯息。

任何人都可以告诉我在openshift上部署Django 1.7应用程序的正确方法吗?

wsgi.py(由Openshift创建)包含以下代码

`

 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
 # 
 #
 # 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 social.wsgi import application

` 目录结构是

.
|-- coleccioneselcomercio
|   |-- static
|   `-- templates
|-- manage.py
|-- network
|   |-- admin.py
|   |-- __init__.py
|   |-- models.py
|   |-- static
|   |   `-- network
|   |       `-- favicon.ico
|   |-- templates
|   |   `-- network
|   |       |-- index.html
|   |       |-- Login.html
|   |       `-- Signup.html
|   |-- tests.py
|   `-- views.py
|-- requirements.txt
|-- setup.py
|-- social
|   |-- app_Global.py
|   |-- __init__.py
|   |-- settings.py
|   |-- urls.py
|   `-- wsgi.py
|-- wsgi
|   `-- static
`-- wsgi.py

social / wsgi.py是django-admin创建的默认wsgi.py 它包含

os.environ.setdefault("DJANGO_SETTINGS_MODULE", "social.settings")

from django.core.wsgi import get_wsgi_application
application = get_wsgi_application()

我想问的另一件事是openhift创建的wsgi.py中的代码是什么,是否应该保存在wsgi.py中,或者我应该将其注释掉?

if __name__ == '__main__':
    from wsgiref.simple_server import make_server
    httpd = make_server('localhost', 8051, application)
    # Wait for a single request, serve it and quit.
    httpd.handle_request()

1 个答案:

答案 0 :(得分:1)

我没有找到关于bootnspping的正确和清晰的说明以及为Openshift设置django应用程序。

来自这两个链接

Deploying a local django app using openshift

https://github.com/jfmatth/openshift-django17

我想出了在Openshift上部署Django1.7应用程序所需的正确目录结构和设置。

我已经编写了这个脚本来为Opennshift引导Django应用程序

https://github.com/girish946/Power-Django-Openshift

现在它适用于我。