我想知道如何在IBM Cloud上部署Django生产服务器。
现在我有一个Cloud Foundry Python应用程序运行没有问题。但我正在使用python manage.py runserver在云上启动应用程序。
有一种方法可以在不使用django服务器的情况下运行应用程序吗?比如,我们如何使用Apache o Nginx Web服务器运行这种应用程序。
更新:
我尝试使用Procfile和gunicorn,但它在启动gunicorn时给了我一个错误。 这是我的Procfile。
web: gunicorn my_app.wsgi --workers 2
错误
ERR Starting gunicorn 18.0
我正在使用python 3.6和django 1.11
答案 0 :(得分:0)
Cloud Foundry提供开箱即用的生产质量托管服务。您不需要配置nginx或apache。有关云代工厂如何运作的更多信息,请参阅here
但是,您通常会配置启动应用程序的方法。 python buildback documentation描述了一些选项,例如:
指定开始命令
Python buildpack不会生成 应用程序的默认启动命令。
要使用Python buildpack进行演示并启动应用程序,请执行以下操作之一 以下内容:
仅适用于Cloud Foundry v245:提供Procfile。
了解更多 有关Procfiles的信息,请参阅配置生产服务器 话题。以下示例Procfile将gunicorn指定为开头 在Gunicorn上运行的Web应用程序的命令:
web: gunicorn SERVER-NAME:APP-NAME
使用-c。
指定启动命令以下 示例将waitress-serve指定为Web应用程序的启动命令 在女服务员上运行:
$ cf push python-app -c "waitress-serve --port=$PORT DJANGO-WEB-APP.wsgi:MY-APP"
通过设置
command
属性在应用程序清单中指定启动命令。了解更多 有关信息,请参阅“使用应用程序清单部署”主题。