【问题标题】:How to deploy a Django production server on IBM Cloud?如何在 IBM Cloud 上部署 Django 生产服务器?
【发布时间】:2018-04-07 22:15:05
【问题描述】:

我想知道如何在 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

【问题讨论】:

  • 欢迎来到stackoverflow。不幸的是,您的问题已被标记为已关闭,因为有人认为它不符合质量标准。有关更多信息,请参阅stackoverflow.com/help/how-to-ask

标签: python django ibm-cloud gunicorn


【解决方案1】:

Cloud Foundry 提供开箱即用的生产质量托管。您不需要配置 nginx 或 apache。有关 Cloud Foundry 如何在后台工作的更多信息,请参阅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 应用程序的启动命令 在 Waitress 上运行:

$ cf push python-app -c "waitress-serve --port=$PORT DJANGO-WEB-APP.wsgi:MY-APP" 

通过设置command 属性在应用程序清单中指定启动命令。

更多 信息,请参阅使用应用程序清单部署主题。

【讨论】:

  • 我试过这个,但是当 gunicorn 启动时它给了我错误,所以没有创建工人。我已经用详细信息更新了我的帖子。
  • @MaríaVictoria 看起来好像有一个使用女服务员的例子 - github.com/cloudfoundry/python-buildpack/tree/… - 也许试试女服务员?
  • 这是一个内存错误。在 IBM Cloud 上分配给应用程序的内存不足以创建 2 个工作器。感谢您的帮助!
猜你喜欢
  • 2013-12-11
  • 2015-11-12
  • 2018-10-19
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2019-10-26
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多