Loading

如何将django程序设置为开机启动【ubuntu】【守护进程】

若要让 Django 项目在 Ubuntu 系统下开机自启,你可以通过 systemd 服务来实现。systemd 是现代 Linux 系统广泛使用的系统和服务管理器,下面为你详细介绍设置步骤:

1. 创建服务文件

使用文本编辑器(如 nanovim)创建一个新的 systemd 服务文件,通常服务文件会放在 /etc/systemd/system/ 目录下,你可以将其命名为 django_project.service ,其中 django_project 可替换为你项目的名称。

sudo nano /etc/systemd/system/django_project.service

在打开的文件中添加以下内容:

重点:不能带#
重点:ExecStart最后不加&,会自动后台运行
重点: >> /opt/dvi_video/logs/django.log 也不能加

[Unit]
Description=基于ffmpeg的视频转换
After=network.target

[Service]
User=root  
Group=root  
WorkingDirectory=/opt/dvi_video  
ExecStart=/opt/dvi_video/.venv/bin/python manage.py runserver 0.0.0.0:8000
Restart=always  

[Install]
WantedBy=multi-user.target

配置说明:

  • [Unit]:该部分用于描述服务的基本信息和启动顺序。Description 是对服务的简要描述;After=network.target 表示该服务要在网络服务启动之后再启动。
  • [Service]:这部分定义了服务的运行方式。UserGroup 指定了运行服务的用户和用户组;WorkingDirectory 是 Django 项目的根目录;ExecStart 是启动服务时要执行的命令;Restart=always 意味着服务在崩溃或停止时会自动重启。
  • [Install]WantedBy=multi-user.target 表示该服务会在多用户模式下被启动。

2. 重新加载 systemd 管理器配置

在创建或修改服务文件后,需要重新加载 systemd 管理器的配置,使新的服务文件生效。

sudo systemctl daemon-reload

3. 启动服务并设置开机自启

启动 django_project 服务,并设置其在开机时自动启动。

sudo systemctl start django_project.service
sudo systemctl enable django_project.service
  • start 命令用于立即启动服务。
  • enable 命令用于设置服务在开机时自动启动。

4. 验证服务状态

你可以使用以下命令来检查服务的运行状态:

sudo systemctl status django_project.service

如果服务正常运行,你会看到类似如下的输出:

● django_project.service - Django project service
     Loaded: loaded (/etc/systemd/system/django_project.service; enabled; vendor preset: enabled)
     Active: active (running) since Wed 2025-03-26 14:30:00 CST; 1min ago
   Main PID: 12345 (python)
      Tasks: 5 (limit: 4672)
     Memory: 10.0M
     CGroup: /system.slice/django_project.service
             └─12345 /opt/dvi_video/.venv/bin/python manage.py runserver 0.0.0.0:8000

5. 停止或禁用服务(可选)

如果你后续需要停止服务或取消开机自启,可以使用以下命令:

sudo systemctl stop django_project.service  # 停止服务
sudo systemctl disable django_project.service  # 取消开机自启

通过以上步骤,你就可以将 Django 项目设置为在 Ubuntu 系统开机时自动启动。

posted @ 2025-03-26 14:00  一只大学生  阅读(142)  评论(0)    收藏  举报