一、准备工作
1.一台有公网IP的云服务器;
2.一台联网的电脑;
3.已准备好的Django项目文件。常用命令如下:
# 生成依赖文件
pip freeze > requirements.txt
# 收集静态文件
python manage.py collectstatic
# 检查迁移文件
python manage.py makemigrations
python manage.py migrate
二、开始安装
(一)部署Django及依赖
1.使用SSH连接服务器,登录后,输入以下命令安装宝塔面板(debian系统):
wget -O install_panel.sh https://download.bt.cn/install/install_panel.sh && bash install_panel.sh ed8484bec
2.前往云服务器官网,在安全组(防火墙)放行8000端口(后端)和宝塔登录端口(你的可能不同,以终端显示为准),然后保存一下终端里面的宝塔登录信息。
==================================================================
Congratulations! Installed successfully!
========================面板账户登录信息==========================
【云服务器】请在安全组放行 36666 端口
外网ipv4面板地址: https://44.66.16.91:36666/fg12bfg5
内网面板地址: https://172.22.23.2:36666/fg12bfg5
username: w321p3uf
password: feddddf2
3.通过外网地址,登录宝塔,首次登录会弹出以下窗口,选择Docker套件即可。

4.交django项目文件上传到“/www/dk_project/wwwroot/”目录,然后解压,再确保项目中有以下文件(没有则需要创建):
Dockerfile
docker-compose.yml
requirements.txt
manage.py
其中,Dockerfile文件内容如下:
FROM python:3.10 # 这里版本指定到10就可以了,不要再细化,否则可能构建容器出错
WORKDIR /app
COPY . /app
RUN pip config set global.index-url https://pypi.tuna.tsinghua.edu.cn/simple
RUN pip install --upgrade pip
RUN pip install -r requirements.txt
EXPOSE 8000
CMD ["gunicorn", "ibrush_end.wsgi:application", "--bind", "0.0.0.0:8000"]
其中,docker-compose.yml文件内容如下:
version: "3"
services:
web:
build: .
container_name: ibrush_django
ports:
- "8000:8000"
restart: always
5.创建Docker容器。首先,在宝塔的Docker设置中,添加一个加速url(https://docker.1ms.run),因为拉取国外镜像会被墙。然后用SSH连接服务器,依次输入以下命令:
# 切换到项目目录
cd /www/dk_project/wwwroot/ibrush_end
# 构建容器
docker build -t django_ibrush .
出现以下的类似内容,表示镜像构建完成:
Successfully built dabcb8dd2fc5
Successfully tagged django_ibrush:latest
6.如果启动后,无法通过ip加端口直接在浏览器中访问,可以查看django配置文件是否出错,修改后需要重新build,再启动容器,命令如下:
# 删除旧容器
docker rm -f ibrush
# 重新build(关键)
docker build --no-cache -t django_ibrush .
#重新运行
docker run -d \
--name ibrush \
-p 8000:8000 \
django_ibrush
(二)部署MySQL数据库
常见问题:
1.不会下载文件?答:请查看下载帮助。
2.我应该下载哪个文件/软件? 答:通常“数字后缀”表示版本号(越大越新),下载数字最大的即可!
3.下载地址为什么隐藏了? 答:防止爬虫索引,敏感内容登录即可免费下载!
2.我应该下载哪个文件/软件? 答:通常“数字后缀”表示版本号(越大越新),下载数字最大的即可!
3.下载地址为什么隐藏了? 答:防止爬虫索引,敏感内容登录即可免费下载!
THE END








暂无评论内容