最近在 Ubuntu 服务器上成功部署了一套开源 IT资产管理系统 ITmanage。这里把完整过程记录下来,方便自己备份,也方便需要的人参考。
一、系统环境
服务器环境:
Ubuntu 24.04.3 LTS,Python 3.12(系统自带),额外安装 Python 3.11,MySQL 8.0,Redis 7
项目作者推荐环境:
Python 3.11.x,Django 4.2.7,MySQL 8.x,为了兼容性,实际部署时使用 Python 3.11。
二、安装 Python 3.11
Ubuntu 24 默认是 Python 3.12,因此额外安装 Python 3.11:
sudo apt update
sudo apt install software-properties-common -y
sudo add-apt-repository ppa:deadsnakes/ppa -y
sudo apt update
sudo apt install python3.11 python3.11-venv python3.11-dev -y
验证版本:
python3.11 -V
输出:
Python 3.11.15
三、安装基础环境
安装数据库、Redis、Nginx、Git 等:
sudo apt install mysql-server redis-server git nginx pkg-config build-essential -y
验证版本:
mysql --version
redis-server --version
git --version
四、创建数据库
进入 MySQL:
sudo mysql
执行:
CREATE DATABASE ITmanage DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
CREATE USER 'itmanage'@'localhost' IDENTIFIED BY 'ITmanage@123';
GRANT ALL PRIVILEGES ON ITmanage.* TO 'itmanage'@'localhost';
FLUSH PRIVILEGES;
EXIT;
数据库信息:
数据库名:ITmanage
账号:itmanage
密码:ITmanage@123
五、下载项目源码
cd /opt
sudo git clone https://gitee.com/lijianqiao/ITmanage.git
sudo chown -R $USER:$USER /opt/ITmanage
cd /opt/ITmanage
ls
看到以下文件说明正常:
manage.py
requirements.txt
assets
templates
static
六、创建 Python 虚拟环境
python3.11 -m venv venv
source venv/bin/activate
成功后命令行前面会出现:
(venv)
七、升级 pip
pip install --upgrade pip setuptools wheel
八、解决 mysqlclient 编译依赖
Ubuntu 需要安装 MySQL 开发库:
sudo apt install default-libmysqlclient-dev pkg-config -y
九、安装项目依赖
pip install -r requirements.txt
依赖较多,等待完成即可。
十、修改 Django 配置文件
编辑配置文件:
nano /opt/ITmanage/ITmanage/settings.py
修改数据库配置
找到:
DATABASES =
改为:
DATABASES = {

'default': {
    'ENGINE': 'django.db.backends.mysql',
    'NAME': 'ITmanage',
    'USER': 'itmanage',
    'PASSWORD': 'ITmanage@123',
    'HOST': '127.0.0.1',
    'PORT': '3306',
}

}
修改允许访问地址
找到:
ALLOWED_HOSTS =
改为:
ALLOWED_HOSTS = ['*']
保存退出:
Ctrl + O
回车
Ctrl + X
十一、修复 migrate 报错(Celery 自动任务)
首次迁移时报错:
django_celery_beat_intervalschedule doesn't exist
原因是项目启动时自动加载 Celery 定时任务。
编辑:
nano /opt/ITmanage/it_purchase_list/apps.py
把:
def ready(self):

from . import celery_schedules

改成:
def ready(self):

pass

保存退出。
十一、修复 migrate 报错(Celery 自动任务)
首次迁移时报错:
django_celery_beat_intervalschedule doesn't exist
原因是项目启动时自动加载 Celery 定时任务。
编辑:
nano /opt/ITmanage/it_purchase_list/apps.py
把:
def ready(self):

from . import celery_schedules

改成:
def ready(self):

pass

保存退出。
十三、创建管理员账号
python manage.py createsuperuser
输入:
用户名:admin
邮箱:自己邮箱
密码:自己设置
十四、收集静态文件
python manage.py collectstatic
输入:
yes
十五、启动项目
python manage.py runserver 0.0.0.0:8050
看到:
Starting development server at:
http://0.0.0.0:8050/
说明启动成功。
十六、浏览器访问
前台:
http://服务器IP:8050
后台:
http://服务器IP:8050/admin
十七、防火墙放行端口(如果打不开)
sudo ufw allow 8050
sudo ufw reload
十八、部署总结
本次部署遇到两个常见问题:

  1. mysqlclient 安装失败
    解决:
    sudo apt install default-libmysqlclient-dev pkg-config -y
  2. migrate 报 celery 表不存在
    解决:
    临时关闭 apps.py 自动任务加载。
    image.png

image.png

发表评论