天机学堂-自定义部署详细流程(部署篇:初始化项目、启动)

目录



前言

本文章使用的是《天机学堂》开源的资料,并从创建虚拟机开始部署《天机学堂项目》,避免还要下载资料中的20GB虚拟机,只需要下载镜像以及其他基础资料即可,请大家放心食用
注意:若是还没有配置好虚拟机和docker的可以先看上一篇:天机学堂-自定义部署详细流程(部署篇:安装虚拟机、docker)
请添加图片描述


续接:上一篇《天机学堂-自定义部署详细流程(部署篇:安装虚拟机、docker)》

三、初始化项目

1、下载资料

1.1 从网盘中将资料中的

在这里插入图片描述
简单介绍一下这些文件是做什么的:
images文件夹:项目用到的镜像,这样大家就不需要自己下载了直接将它映射上去即可
init.sh文件:黑马提供的初始化命令
tjxt.env.tar.gz : 这个文件很 重要,它里面有执行docker-compose.yaml 也就是我们要执行服务的文件,以及其他服务的配置也在这里

所以大家只需要将:将imagestjxt.env.tar.gz 拉取到虚拟机即可

2、配置项目用到的镜像

2.1 拉取本地镜像

cd images: 进入到镜像文件中执行一下代码:

# 在包含所有 tar 文件的目录中执行
for file in *.tar; do
    echo "正在导入: $file"
    docker load -i "$file"
    echo "完成导入: $file"
    echo "------------------------"
done

docker images 查看是否上传成功

3、初始化项目

3.1 基础配置

3.1.1配置java环境

配置的前检查当前系统是否有java的环境$PATH并确定其版本是否是11

编写环境

执行前要看一下自己的java路径,它在我们压缩包解压完之后的java目录中,如果知道目录修改下面的代码中的JAVA_HOME=YOUR_JAVA_HOME

tee -a /etc/profile << EOF
export JAVA_HOME=/root/src/java
export PATH=\$JAVA_HOME/bin:\$PATH
export CLASS_PATH=\$JAVA_HOME/lib
EOF

重启资源

source /etc/profile

测试

java -version

版本应该是11

3.1.2配置jenkins

创建Jenkins用户

useradd -U -m jenkins

将 Jenkins 用户添加到 docker 和 root 组

usermod -aG docker jenkins
usermod -aG root jenkins

设置 Docker socket 权限(安全风险!)

chmod 777 /var/run/docker.sock
3.1.3修改配置文件中的ip
BASE_IP=YOUR_IP
BASE_PATH=YOUR_PATH
sed -i -e "s#192.168.150.101#${BASE_IP}#g" ${BASE_PATH}jenkins/jobs/tjxt-dev-build/config.xml
sed -i -e "s#192.168.150.101#${BASE_IP}#g" ${BASE_PATH}nginx/conf/nginx.conf
sed -i -e "s#192.168.150.101#${BASE_IP}#g" ${BASE_PATH}gogs/gogs/conf/app.ini

注意:
BASE_IP:是你虚拟机配置的静态ip,
BASE_PATH:这个是你自己的基础路径

3.1.4配置快捷命令

BASE_PATH:这个是你自己的基础路径

#启动docker
sudo systemctl start docker
#加载资源
source ${BASE_PATH}.bashrc
#修改docker的配置
sed -i "s/docker-compose/docker compose/g" ~/.bashrc
#测试
dis
#应当返回镜像:docker images命令所返回的值

将快捷吗命令配置开机自动加载

# 加载自定义的.bashrc文件
if [ -f ${BASE_PATH}.bashrc ]; then
    source ${BASE_PATH}.bashrc
fi
3.1.5修改compose.yaml
# seata 服务中的这个IP需要确认
environment:
  SEATA_IP: 192.168.150.101 #修改成你自己的ip
3.1.6创建所需目录
# 创建所有必要的目录
mkdir -p {mysql/{conf,data,init},xxl-job/logs,seata,gogs,jenkins,mq/{plugins,data,conf},es/{data,plugins},redis/{conf,data},nginx/{conf,html}}

四、启动

1、配置虚拟内存

首先通过命令查看自己的虚拟内存:
free -h
如图:
在这里插入图片描述

Swap后面的total就是虚拟内存大小。我这台机器已经有2G虚拟内存,有些同学这里可能为0,也有些可能是7.9。
如果swap后面的total已经大于5G,则跳过后面的步骤。

如果虚拟内存不足,则需要添加虚拟及内存。
首先,创建虚拟机内存文件:
dd if=/dev/zero of=/root/swapfile bs=1M count=8192 status=progress
此步骤可能会花费较长时间,需要耐心等待。
构建
mkswap /root/swapfile
#激活
swapon /root/swapfile

看/root目录的虚拟机内存文件:
在这里插入图片描述

2、配置域名

在windows中的本机中找到目录:C:\Windows\System32\drivers\etc\hosts 使用管理员模式打开之后添加一下信息:
注意ip地址写你虚拟机中的IP地址

192.168.150.101 git.tianji.com
192.168.150.101 jenkins.tianji.com
192.168.150.101 mq.tianji.com
192.168.150.101 nacos.tianji.com
192.168.150.101 xxljob.tianji.com
192.168.150.101 es.tianji.com
192.168.150.101 api.tianji.com
192.168.150.101 www.tianji.com
192.168.150.101 manage.tianji.com
192.168.150.101 cpolar.tianji.com

3、启动

3.1 分阶段启动

# 1. 先启动基础服务
docker-compose up -d mysql redis mq

# 2. 启动中间件
docker-compose up -d nacos xxl-job seata es

# 3. 最后启动应用服务
docker-compose up -d gogs jenkins nginx

3.2 检查服务状态

基础服务账号端口
mysqlroot/1233306
redisip/1233216379
名称域名账号端口
Git私服git.tianji.comtjxt/12332110880
Jenkins持续集成jenkins.tianji.comroot/12318080
RabbitMQmq.tianji.comtjxt/12332115672
Nacos控制台nacos.tianji.comnacos/nacos8848
xxl-job控制台xxljob.tianji.comadmin/1234568880
ES的Kibana控制台es.tianji.com-5601
微服务网关api.tianji.com-10010
用户端入口www.tianji.com-18081
管理端入口manage.tianji.com-18082

五、部署时遇到的BUG合集

5.1 redis登录不上

5.1.1 检查redis是否启动

在这里插入图片描述
若是报错,可能报错原因:

检查compose.yml,中的redis服务部分是否如下:
redis: image: redis container_name: redis ports: - "6379:6379" volumes: - "./redis/conf:/usr/local/etc/redis" - "./redis/data:/tmp" networks: - new restart: always entrypoint: [ "redis-server", "/usr/local/etc/redis/redis.conf" ]
首先检查一下:./redis/conf,是否存在,不存在的话在资源里面redis/conf,找到此文件并配置到服务器中

若是依旧解决不了,大家可以先查看redis的运行日志,执行命令:docker logs redis,发到评论区或者在网上寻找具体原因

5.1.2 查看redis的密码

大家在运行之后可能发现,redis服务依旧运行起来但是依旧是不可以建立连接,并显示密码错误,大家可以去redis.conf文件中查看

操作流程:
1、进入到redis配置文件中
vi ./src/redis/conf/redis.conf
2、查询password,进入正常状态并输入
/requirepass
进入查找模式查requirepass字符,按键n下一个,按键N上一个
3、找到设置密码的部分
在这里插入图片描述

5.2 服务注册不到nacos中

如果大家没有自定义ip的话这个bug大家可能用不上,这里演示的是自定义ip所带来的注册不到nacosbug

5.2.1 修改gogs的服务配置的ip

在修改前我们需要先知道你的jenkins所配置一些参数:
使用这个地址:jekins配置地址:http://jenkins.tianji.com/view/dev/job/tjxt-dev-build/configure
需要配置如下图:
1.修改仓库URL
在这里插入图片描述> 2、查看使用的分支
在这里插入图片描述
3、到gogs中修改配置文件中的ip

在这里插入图片描述
(这里找到需要启动的服务中的配置文件,并修改ip)
在这里插入图片描述

5.2.2 修改特殊文件 tj-common 的配置

1、找到此文件
在这里插入图片描述
2、修改通用工程中的静态文件spring-configuration-metadata.json
在这里插入图片描述

5.3 jenkins启动服务时过一会就报错停止服务

这里报错的原因可能是因为jenkins的权限不足,需要重新配置一下权限:
1、创建Jenkins用户

useradd -U -m jenkins

2、将 Jenkins 用户添加到 docker 和 root 组

usermod -aG docker jenkins
usermod -aG root jenkins

3、设置 Docker socket 权限

chmod 777 /var/run/docker.sock

下一篇《天机学堂——day1(修改bug)》

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值