【问题标题】:How do i run two command lines in AWS simultaneously?如何在 AWS 中同时运行两个命令行?
【发布时间】:2019-11-01 04:21:05
【问题描述】:

我有一个想要部署到 AWS 的 Django 应用程序。 我需要两个命令行来运行该应用程序。一个命令行将用于运行服务器,另一个用于运行后台任务。这就是应用程序在我的本地服务器中运行的方式。

如何在 AWS 中启动两个命令行?

【问题讨论】:

  • Linux 服务器?检查nohup 或作为服务运行..
  • @DanielM 是的。 Linux 服务器。我如何使用 nohup?我要启动两个命令:“python manage.py runserver”和“python manage.py process_tasks”
  • 需要多次 +1 Alasdair 的评论。 Runserver 用于部署。 (你也不应该需要从命令行运行后台任务。)
  • 用 gunicorn+nginx 检查运行 django - 这是一个更好的方法。

标签: django amazon-web-services amazon-s3 amazon-ec2 aws-lambda


【解决方案1】:

据我了解,您的 django 应用程序目前处于开发模式,我已将 tmux 用于开发模式,page 将指导您更好地使用 tmux。启动 tmux 会话后,运行 python3 manage.py runserver,然后使用 ctrl-b 分离到会话,然后按 d,即使退出 shell,您的应用程序也将运行。
要了解更多关于 tmux 的信息,请访问this page

如果您必须在生产模式下运行您的应用,请勿使用上述方法,请使用nginxapache2 服务器中的任何一个运行您的应用。 This tutorial 可以指导你使用 nginx 和 gunicorn 设置你的 django 应用。

【讨论】:

    【解决方案2】:

    Supervisor 是控制它的好方法。您可以轻松运行许多进程(如服务器、迁移、collectstatic、Celery)。
    此外,您可以确保在您的机器重新启动时所有进程都将再次运行。
    而且,正如大家所说,您必须在生产环境中安装支持 WSGI 的服务器才能正常运行 Django。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2023-04-03
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-05-05
      • 1970-01-01
      • 1970-01-01
      • 2018-03-15
      相关资源
      最近更新 更多