云原生大数据平台,云原生架构
【Cloud Native docker】腾讯云部署Django项目(服务器选型、git配置、docker三分钟部署)_技术博客of _wx62affbc457373 _博客
博客明星评选
个人主页:@电脑魔术师作者简介:CSDN内容合伙人,全栈领域优质创作者。
这篇文章包含了从入门到在线的专栏
在上一本书里,我们用docker部署了nginx gunicorn mysql django。本文将项目部署到腾讯云服务器上进行在线测试。
部署Django Nginx Gunicorn
部署Django mysql项目
@[目录]
一、腾讯服务器部署1.1服务器选择购买服务器部署第一步是购买云服务器。博主们第一次买那个服务器的时候很纠结(心疼钱)。他们在网上查阅了各种资料后,认为腾讯云对新用户和学生的优惠还是比较卷帙浩繁的,比阿里云和华为云还是优惠一点。
如果是新老用户,推荐。对于新用户来说,优惠还是很大的(第一次购买服务器的优惠是很大的,一定要珍惜)。点击链接跳转并查看。
想必读者多为学生,强烈建议购买校园云服务器。对学生的优惠真的是巨大的(华为云、阿里云也有,但腾讯云在这方面的卷帙浩繁)。到60元只需要一年,配置好一点的也不贵。点击链接跳转查看。
下面部署的服务器是校园云服务器的轻量级应用服务器2核2G,足够学习和部署小型应用。
单击该页面的链接。
点击购买
选地区,就选离你最近的地区。
镜像,这里选择centOS7.6 Docker 20镜像。下面稍微介绍一下腾讯云做的比较好的地方。之前也买过阿里云的服务器,但是镜像没有那么多选择。如果要使用Docker,需要在服务器实例中单独安装Docker。
验证身份后,就可以购买人脸识别了!
购买服务器后,我们可以下载xshell,即XFTP连接工具XShell官网地址(需要获取服务器公网的ip连接并设置实例密码),连接云端服务器实例。也可以使用腾讯云控制台自带的webshell点击登录连接服务器(网卡会相当卡)。
我们需要使用root管理员登录,否则没有操作权限。
1.2启动项目1.2.1拉代码获取我们的代码有两种方式。
我们在github或gitee上发布项目。
A.首先安装git
sudo yum install -y git
他将自动安装所有的依赖项并检查版本。
B.配置。配置提交代码的用户,并输入指令:
git配置-全局用户名您的姓名
同时,配置用户的邮箱并输入命令:
git配置-全局用户电子邮件 email@example.com
生成公钥和私钥(针对github)
SSH-keygen-t RSA-c your @ email . com //执行后按回车键即可。
获取ssh密钥公钥内容(id_rsa.pub)
cd ~/。嘘
卡特彼勒id_rsa.pub
复制所有内容
第四步:Github账号添加公钥,进入设置设置。
添加ssh密钥,粘贴复制的内容并保存。
第五步:验证设置是否成功。
宋承宪-t git@github.com//and然后填写是
以下信息表明设置成功
在克隆仓库中使用ssh时,不需要再次验证您的帐户。
D.拉代码
cd /
mkdir代码
cd代码
初始化仓库
gitpullgit @ github . com:your name/warehouse name . git
拉动成功
我们使用传输工具传输文件(不推荐,一般部署项目是拉代码托管平台)。在选择镜像的时候,我们已经购买了腾讯云服务器,选择了docker,这里就不需要安装了。
1.2.2 docker启动如果是另一个云服务器,或者已经有服务器但是docker没有下载安装,下面是一篇我觉得挺好的文章。参考文献1:https://cloud.tencent.com/developer/article/1701451参考文献2:https://blog.csdn.net/JunyouYH/article/details/120584027
Docker命令开始镜像
docker-compose-builded
这一步是Docker-Compose build-No-Cahed和Docker-Compose up-d-d的结合。
构建并运行容器,但是对于mysql可能会报告以下错误
求解过程:
根据错误一:服务器( 1 )和数据字典( 2 )的不同lower _ case _ table _ names设置。我猜原因是docker-compose up中mysql8数据库的问题。(lower_case_table=0在linux自启动时默认开启,镜像无法启动)方案:cp配置文件宕机后,修改cp并返回,修改lower_case_table=1,仍报错,更改数字,0-1,尝试设置为2,报错回原信息。阿里云回答https://help.aliyun.com/document_detail/147946.html
根据错误2:数据字典初始化失败。a .删除/var/lib/mysql文件失败。b .注释掉#datadir=xxx,失败。c .数据加载目录datadir中的docker,删除整个文件,重构图像,在上传文件时求解!参考:https://blog.csdn.net/liurui50/article/details/105478422参考:https://blog.csdn.net/qq_33801641/article/details/120756083
如果解决不了最后一个思路:设置mysql版本为mysql5,重构1.2,访问项目公网ip,访问部署在云端服务器的web项目,配置安全组。
配置安全组参考文章:
参观。登录后会出现。
您需要在设置文件中添加公共ip。
进入容器
docker exec-it[container _ id]/bin/bash
Python manage.py创建超级用户#创建用于登录的超级用户。
关于部署的思考:
部署项目应该保持一个干净的目录,运行测试生成的数据或文件不应该被带入部署文件。上传时,测试代码和部署代码也应该在这里修改。如果有任何问题。
欢迎私人博主提问。博主们会尽力解答你的疑惑!
如果对你有帮助,你的赞就是对博主最大的支持!
电脑魔术师原创作品,
郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。