Ubuntu 22.04云服务器部署Django项目全流程
文章分类:技术文档 /
创建时间:2026-01-10
在云服务器的Ubuntu 22.04系统上部署Django项目,具体需要哪些操作?接下来逐一拆解关键步骤。
环境准备:更新系统与安装依赖
部署前需确保系统软件为最新版本。打开终端执行以下命令更新包列表并升级:
sudo apt update
sudo apt upgrade
完成后安装基础依赖,包括Python 3、pip(Python包管理工具)和虚拟环境工具venv:
sudo apt install python3 python3-pip python3-venv
这些工具是后续部署的基础支撑。
创建虚拟环境:隔离项目依赖
为避免不同项目间依赖冲突,建议使用虚拟环境管理。在目标目录执行命令创建并激活环境:
python3 -m venv myenv
source myenv/bin/activate
激活成功后,终端提示符前会显示环境名称(如`(myenv)`),表示已进入独立虚拟空间。
安装Django与项目依赖
在激活的虚拟环境中,使用pip安装Django框架:
pip install django
若项目有`requirements.txt`文件,可直接安装所有依赖:
pip install -r requirements.txt
配置Django项目:调整关键参数
将本地项目文件上传至云服务器(可通过scp或文件传输工具),进入项目目录后修改`settings.py`。重点配置`ALLOWED_HOSTS`,添加云服务器IP或域名(示例):
ALLOWED_HOSTS = ['your_server_ip', 'your_domain.com']
若使用SQLite数据库,确认以下配置:
DATABASES = {
'default': {
'ENGINE': 'django.db.backends.sqlite3',
'NAME': BASE_DIR / 'db.sqlite3',
}
}
完成配置后执行数据库迁移:
python manage.py makemigrations
python manage.py migrate
最后创建后台管理超级用户:
python manage.py createsuperuser
部署Web服务:Nginx与Gunicorn协同
先安装Nginx作为反向代理服务器:
sudo apt install nginx
在虚拟环境中安装Gunicorn(Python WSGI服务器):
pip install gunicorn
启动Gunicorn测试服务(需替换`your_project_name`为实际项目名):
gunicorn --bind 0.0.0.0:8000 your_project_name.wsgi
接下来配置Nginx代理Gunicorn。创建新配置文件:
sudo nano /etc/nginx/sites-available/your_project_name
添加以下内容(替换`/path/to/your/project`为实际路径):
server {
listen 80;
server_name your_server_ip your_domain.com;
location = /favicon.ico { access_log off; log_not_found off; }
location /static/ {
root /path/to/your/project;
}
location / {
proxy_pass http://127.0.0.1:8000;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;
}
}
保存后创建软链接启用配置:
sudo ln -s /etc/nginx/sites-available/your_project_name /etc/nginx/sites-enabled/
检查配置语法并重启Nginx:
sudo nginx -t
sudo systemctl reload nginx
服务管理:设置开机自启
为确保Gunicorn随系统启动,创建systemd服务文件:
sudo nano /etc/systemd/system/gunicorn.service
添加以下配置(替换`your_user`、`/path/to/your/project`等为实际信息):
[Unit]
Description=gunicorn daemon
After=network.target
[Service]
User=your_user
Group=www-data
WorkingDirectory=/path/to/your/project
ExecStart=/path/to/your/venv/bin/gunicorn --access-logfile - --workers 3 --bind unix:/path/to/your/project/your_project_name.sock your_project_name.wsgi:application
[Install]
WantedBy=multi-user.target
重新加载systemd配置并启动服务:
sudo systemctl daemon-reload
sudo systemctl start gunicorn
sudo systemctl enable gunicorn
至此,云服务器Ubuntu 22.04上的Django项目部署完成。通过浏览器访问云服务器IP或域名,即可查看项目运行状态。若遇到问题,可通过检查Nginx日志(`/var/log/nginx/error.log`)或Gunicorn日志定位具体原因。
工信部备案:粤ICP备18132883号-2