django项目部署到服务器

本文详细介绍了如何在服务器上安装Docker,配置MySQL镜像,以及如何将Django项目部署到Docker容器中,包括设置环境变量、数据库连接和防火墙配置等。
摘要由CSDN通过智能技术生成

django项目部署到服务器

在服务器安装docker

安装教程连接

  • 安装docker
yum install -y yum-utils //安装需要的安装包yum-utils

youm-config-manager \
    --add-repo \
    https://download.docker.com/linux/centos/docker-ce.repo   ##此地址为官方的仓库地址,在国内建议不要用
  //  or
yum-config-manager \
  --add-repo \
   http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo // 设置镜像仓库地址

yum makecache fase //先更新yum软件包索引

yum install docker-ce docker-ce-cli containerd.io//docker社区、ee企业版 ce为社区版 官方推荐使用ce版,默认安装最新的docker
版本,也可以指定版本安装
  • 启动docker
systemctl  start  docker //启动docker
docker version//查看版本
docker run hello-world//测试镜像
docker ps
docker images

关于docker的理解
1. docker是一个放置镜像的容器,镜像跑起来后也会成为容器(大概吧)。
2. 要先把镜像拉取到docker内,才能运行
3. docker是独立于操作系统外的。

docker 安装 mysql

docker安装mysql教程

docker pull mysql:5.7 //拉去mysql镜像

docker run -p 3306:3306 --name mysql --restart=always --privileged=true \
-v /usr/local/mysql/log:/var/log/mysql \
-v /usr/local/mysql/data:/var/lib/mysql \
-v /usr/local/mysql/conf:/etc/mysql \
-v /etc/localtime:/etc/localtime:ro \
-e MYSQL_ROOT_PASSWORD=123456 -d mysql:latest //运行镜像

dokcer images //查看运行状态,如果up则运行成功,如果没有

docker logs -f mysql//查看日志

docker exec -it mysql /bin/bash //查看容器内部

cd /usr/local/mysql
ll
cd conf
vi my.cnf //查看mysql配置

在文件中配置

[client]
default-character-set=utf8mb4
[mysql]
default-character-set=utf8mb4
[mysqld]
# 设置东八区时区
default-time_zone = '+8:00'
# 设置密码验证规则,default_authentication_plugin参数已被废弃
# 改为authentication_policy
#default_authentication_plugin=mysql_native_password
authentication_policy=mysql_native_password
# 限制导入和导出的数据目录
# 为空,不限制导入到处的数据目录;
# 指定目录,必须从该目录导入到处,且MySQL不会自动创建该目录;
# 为NULL,禁止导入与导出功能
#secure_file_priv=/var/lib/mysql
secure_file_priv=
init_connect='SET collation_connection = utf8mb4_0900_ai_ci'
init_connect='SET NAMES utf8mb4'
character-set-server=utf8mb4
collation-server=utf8mb4_0900_ai_ci
skip-character-set-client-handshake
skip-name-resolve

记得去云服务器暴露端口如果要sqlyog远程连接的话
其他指令

docker restart mysql //重启mysql

docker update mysql --restart=always //设置docker启动时启动mysql

docker exec -it mysql /bin/bash //进入容器内部
mysql -u root -p // 登录mysql

django项目配置文件

  1. 生成配置文件
pip freeze >> requirements.txt
  1. 新建Dockerfile
其中内容
# 镜像python版本,这里有坑,你可以看着项目里的pom.xml文件确定自己的版本,如果有问题的话多尝试几个
FROM python:3.7
# VOLUME 指定了临时文件(使用容器卷)目录为/tmp,在主机arb/docker目录下创建了一个临时文件并链接到容器的/tmp。
VOLUME /tmp

# 将工作目录设置为 /pythonproject
WORKDIR ./pj4
# 将jar包添加到容器中并更名为test2.jar
ADD . .
ENV PYTHONUNBUFFERED=1
# 安装 requirements.txt 中指定的任何所需软件包
RUN pip install -r requirements.txt -i https://pypi.tuna.tsinghua.edu.cn/simple
# 暴露端口号
EXPOSE 8000
# 在容器启动时运行 tset.py
CMD ["python3", "./djangoProject4/manage.py","runserver","0.0.0.0:8000"]
  1. 项目打包后放到服务器
yum install -y unzip zip //下载unzip指令
unzip xxx //解压

django项目部署

docker build . -t imagename //创建镜像
docker run --name workname -d -p 8000:8000 iimagename //运行镜像
docker logs xxx //查看日志

!! mysql中的用户的host要设置@或对应ip才能用sqlyog等远程连接工具进行访问

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值