宝塔面板部署网站

Cealivanus Kwan Lv3

宝塔面板部署Django项目教程一:

操作教程(一):宝塔布署Django项目 (python管理器+uwsgi+nginx)_宝塔部署django项目-CSDN博客

下面记载我遇到的问题:

问题1:端口占用

终端报错:

1
Django-Error: That port is already in use

solution:

假设我们使用的端口是8898

查看正在使用的端口 8898

1
lsof -i:8898

然后展示正在使用的端口

解除端口占用:

1
kill -9 8898

问题2:“requirements.txt“ 文件生成和使用

requirements.txt 是一个文本文件,列出了所有必须安装的库,以便于在新环境中复制相同的设置。它通常包括库的名称和版本号。

生成requirements.txt:(在启动程序同级目录)

1
pip freeze > requirements.txt

在新环境部署项目时,您可以使用 requirements.txt 文件轻松安装所有依赖项。只需运行:

1
pip install -r requirements.txt

问题3:保持虚拟环境下的项目后台运行

方法 1:使用 nohup(简单推荐)
1
nohup python manage.py runserver 0.0.0.0:8000 > system.log 2>&1 &
  • nohup 会忽略 SIGHUP 信号,即使关闭终端进程也会继续运行。
  • 日志会持续写入 system.log
方法 2:使用 tmuxscreen(适合复杂操作)
1
2
3
tmux new -s django_server  # 新建会话
python manage.py runserver 0.0.0.0:8000
# 按 Ctrl+B → D 分离会话(进程保持运行)
  • 随时可以重新连接:tmux attach -t django_server
方法 3:系统服务(生产环境推荐)

对于生产环境,建议用 systemdsupervisord 托管(示例 systemd 配置):

1
2
3
4
5
6
7
8
9
10
11
12
# /etc/systemd/system/django.service
[Unit]
Description=Django Server

[Service]
User=your_user
WorkingDirectory=/path/to/your/project
ExecStart=/path/to/venv/bin/python manage.py runserver 0.0.0.0:8000
Restart=always

[Install]
WantedBy=multi-user.target

然后运行:

1
2
sudo systemctl start django
sudo systemctl enable django # 开机自启

如何停止后台进程?

如果已经用 nohup& 运行:

  1. 查找进程 ID:
    1
    ps aux | grep 'manage.py runserver'
  2. 终止进程:
    1
    kill -9 <PID>

关键区别
方式 关闭终端后 适合场景 需要额外工具
直接运行 ❌ 终止 临时开发
nohup ✅ 保持 短期运行
tmux/screen ✅ 保持 开发调试 需安装
systemd ✅ 保持 生产环境 需 root 权限

建议开发时用 nohuptmux,生产环境用 systemd

  • 标题: 宝塔面板部署网站
  • 作者: Cealivanus Kwan
  • 创建于 : 2025-04-30 09:14:27
  • 更新于 : 2025-04-30 09:37:21
  • 链接: https://redefine.ohevan.com/2025/04/30/宝塔面板部署网站/
  • 版权声明: 本文章采用 CC BY-NC-SA 4.0 进行许可。
目录
宝塔面板部署网站