导航

Ubuntu 开机自启动Django程序

Posted on 2023-08-18 10:17  zhaoweixsj  阅读(482)  评论(0编辑  收藏  举报

在Ubuntu系统中设置开机启动一个命令,如 python manage.py runserver 0.0.0.0:8000 来启动Django服务器,可以通过以下步骤实现:

创建一个 Systemd Service 文件:

打开终端并使用文本编辑器(例如 nano 或 vim)创建一个 Systemd Service 文件,比如 django_app.service:

bash
Copy code
sudo nano /etc/systemd/system/django_app.service
在文件中输入以下内容,根据需要调整路径、用户和命令:


[Unit]
Description=Django Web Application
After=network.target

[Service]
User=your_username
Group=your_group
WorkingDirectory=/path/to/your/django/project
ExecStart=/path/to/your/python /path/to/your/manage.py runserver 0.0.0.0:8000
Restart=always

[Install]
WantedBy=multi-user.target


替换 your_username、your_group、/path/to/your/django/project 和 /path/to/your/python 为实际的用户名、用户组、Django 项目路径和 Python 可执行文件路径。

保存并关闭文件:

在 nano 编辑器中,按下 Ctrl + O 保存文件,然后按下 Enter,最后按下 Ctrl + X 关闭编辑器。

重新加载 Systemd 并启动服务:

运行以下命令来重新加载 Systemd 并启动刚刚创建的服务:


sudo systemctl daemon-reload
sudo systemctl start django_app
这将启动 Django 服务。

设置开机自启动:

如果你想在系统启动时自动启动 Django 服务,运行以下命令:


sudo systemctl enable django_app
现在,每次系统启动时,Django 服务都会自动启动。

检查服务状态:

运行以下命令来检查服务状态:


sudo systemctl status django_app
这将显示服务的状态信息,包括是否在运行。

请注意,将上述步骤中的路径和命令替换为实际值,并确保你有足够的权限来执行这些操作。此外,这仅适用于运行 runserver 的开发环境。在生产环境中,建议使用专业的Web服务器(如Nginx或Apache)来部署Django应用。