首页 > 解决方案 > 使用 PM2 在后台运行 django 应用程序

问题描述

您好,我有一个 django 应用程序,它可以顺利运行python3 manage.py runserver。但是要一直运行它,我需要使用任何流程管理器或手动创建服务。我想用 pm2 运行它。
但是当我尝试将应用程序pm2作为进程运行时会出现问题。下面是我的 pm2 配置文件。

{
   apps:
      [{
        name: "lab",
        script: "/home/ubuntu/sample-django-app/manage.py",
        args: ["runserver", "0.0.0.0:8080"],
        exec_mode: "fork",
        instances: "1",
        wait_ready: true,
        autorestart: true,
        max_restarts: 5,
        interpreter : "/home/ubuntu/venv/bin/python3"
      }]
}

但是出现以下错误
raise ImportError(
ImportError: Couldn't import Django. Are you sure it's installed and available on your PYTHONPATH environment variable? Did you forget to activate a virtual environment?
Traceback (most recent call last):
File "/home/ubuntu/sample-django-app/manage.py", line 11, in main
from django.core.management import execute_from_command_line
ModuleNotFoundError: No module named 'django'
 
The above exception was the direct cause of the following exception:

Traceback (most recent call last):
File "/home/ubuntu/sample-django-app/manage.py", line 22, in <module>
main()
File "/home/ubuntu/sample-django-app/manage.py", line 13, in main
raise ImportError(
ImportError: Couldn't import Django. Are you sure it's installed and available on your PYTHONPATH environment variable? Did you forget to activate a virtual environment?

在这里,我已经安装了 Django,并且该应用程序使用 **`python3 manage.py runserver`** 运行顺利,对此有什么帮助吗?我的配置文件好吗?

标签: pythondjangopm2

解决方案


推荐阅读