一、腾讯服务器部署
1.1 服务器选择
1. 服务器购买
部署的第一步是购买云服务器,博主在第一次购买时很纠结与购买那个服务器(心疼钱😑),在网上查阅多方资料,推荐 校园云服务器,对于学生优惠好一点 一年112(点击链接跳转查看 https://curl.qcloud.com/2nE6U3l3 )[TT1] ,相当于一个月一杯奶茶了👼
文章同款服务器 是, 校园云服务器 轻量应用服务器2核2G对于学习和部署小型应用已经足够使用了。
用轻量云就是看上这个带宽了,本身业务的流量不会很多,但是有突发带宽的需求,普通云服务器的固定带宽费用死贵又用不上,只能说这个高带宽的流量包用的很舒服,还有各种镜像,直接部署也很方便不过需要注意的是,每个用户的使用感受可能因个人需求和具体应用场景而异。大家可以按照自己的需求来选择啦✨
在准备好服务器后,我们可以下载xshell,xftp连接工具 xshell官网地址(需要获取服务器公网ip连接和设置实例密码),连接到云服务器实例。
注意:需要使用root管理员登录,不然没有权限进行操作
1.2 启动项目
1.2.1拉取代码
有两种办法获取我们的代码
a. 首先安装git
sudo yum install -y git
他会自动安装所有的依赖,查看版本
b. 配置 .配置一个用于提交代码的用户,输入指令:
git config --global user.name "Your Name"
同时配置一个用户的邮箱,输入命令:
git config --global user.email ""
生成公钥和私钥(用于github)
ssh-keygen -t rsa -C "" //执行后一直回车即可
获取ssh key公钥内容(id_rsa.pub)
cd ~/.ssh cat id_rsa.pub
复制全部内容
第四步:Github账号上添加公钥 进入Settings设置 添加ssh key,把刚才复制的内容粘贴上去保存即可
第五步:验证是否设置成功
ssh -T // 而后填写 yes
显示如下信息表明设置成功
在clone仓库的时候使用ssh便不需要再次账号验证了
d. 拉取代码
cd / mkdir code cd code git init git pull :Yourname/仓库名称.git
拉取成功
1. 我们使用传输工具将文件传输过去(不推荐,一般部署项目都是拉取代码托管平台的)
我们在选择镜像时已经在购买腾讯云服务器选择了docker,所以这里不用再安装
1.2.2 docker启动
如果是其他云服务器,或者已有服务器但没有下载安装docker, 以下是我觉得挺不错的文章 参考一:https://cloud.tencent.com/developer/article/ 参考二:https://blog.csdn.net/JunyouYH/article/details/
docker命令启动镜像
docker-compose up --bulid
这一步的是 docker-compose buile --no-cahed 与 docker-compose up -d的结合
1. 错误一 构建镜像,运行容器,但是对于mysql又可能会报如下错误
解决过程:
1. 根据报错一: Different lower_case_table_names settings for server ('1') and data dictionary ('2').,猜测原因是docker-compose up 中mysql8数据库的问题,(linux自身启动默认开启 lower_case_table=0, 且无法启动镜像) 方案:cp配置文件下来,修改结束cp回去,修改lower_case_table=1,仍然报错,变化了数字,0 - > 1, 尝试设置为2, 报错回原来的信息,
阿里云解答 `https://help.aliyun.com/document_detail/147946.html`
1. 根据报错二:Data Dictionary initialization failed. a. 删除/var/lib/mysql文件,失败 b. 注释掉#datadir=xxx , 失败 c. 数据加载目录 datadir 中在上传文件时docker对于挂载在var/lib/mysql已存在文件,删除整个文件,重新构造镜像, 解决! 🎉🎉🎉
参考:`https://blog.csdn.net/liurui50/article/details/`
参考:https://blog.csdn.net/_/article/details/
1. 如果都解决不了最后思路:`mysql``,重新构造
1. 错误二 编码错误如下,存储内容包括特殊字符无法使用utf8存贮
修改默认编码 参考文章一: https://blog.csdn.net/z_jianghai/article/details/ 参考文章二 :https://www.codenong.com/cs/ 参考文章三: https://blog.csdn.net/dy_miao/article/details/
建议直接挂载配置文件吧,docker容器默认给mysql编码就是latin1,这是不支持中文的 挂载目标文件 :/etc/mysql/conf.d/mysql.cnf
[client] default-character-set=utf8mb4 [mysql] default-character-set=utf8mb4 [mysqld] init_connect='SET collation_connection = utf8mb4_unicode_ci' init_connect='SET NAMES utf8mb4' character-set-server=utf8mb4 collation-server=utf8mb4_unicode_ci skip-character-set-client-handshake
再在dockerfile.yml 中对 mysql容器加上命令 (这个命令只能让server 和 database 参数变为 utf8mb4 其他变量需要修改配置文件)
command: "mysqld --user=root --explicit_defaults_for_timestamp --character-set-server=utf8mb4 --collation-server=utf8mb4_general_ci"
假如我们已经生成了数据库中的表怎么办呢,此时修改数据库配置是无效的,因为这些表已经生成,配置是对以后生成的表设置,现在的表如何修改呢?最简单粗暴的方法就是删掉数据库,重新迁移便可(此时是测试使用,开发Django框架,弄了我一个下午🤷♀️)
1.2、访问项目
公网ip访问部署在云服务器的web项目,配置安全组
配置安全组参考文章:
访问。登录后台后会出现
需要在settiing文件中添加公网ip
进入容器
docker exec -it [container_id] /bin/bash python manage.py createsuperuser # 创建超级用户用于登录
部署反思:
1. 部署项目应该保持干净的目录
2. 运行测试所生成的数据或文件不要带入部署文件中
3. 测试代码与部署代码部分在上传也应该修改好
到此这篇git服务器有哪些内容(git 服务器配置)的文章就介绍到这了,更多相关内容请继续浏览下面的相关推荐文章,希望大家都能在编程的领域有一番成就!
版权声明:
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如若内容造成侵权、违法违规、事实不符,请将相关资料发送至xkadmin@xkablog.com进行投诉反馈,一经查实,立即处理!
转载请注明出处,原文链接:https://www.xkablog.com/hd-wfwjg/53149.html