目录
文章目录
前言
本文章使用的是《天机学堂》开源的资料,并从创建虚拟机开始部署《天机学堂项目》,避免还要下载资料中的20GB虚拟机,只需要下载镜像以及其他基础资料即可,请大家放心食用
注意:若是还没有配置好虚拟机和docker的可以先看上一篇:《天机学堂-自定义部署详细流程(部署篇:安装虚拟机、docker)》
续接:上一篇《天机学堂-自定义部署详细流程(部署篇:安装虚拟机、docker)》
三、初始化项目
1、下载资料
1.1 从网盘中将资料中的
简单介绍一下这些文件是做什么的:
images文件夹:项目用到的镜像,这样大家就不需要自己下载了直接将它映射上去即可
init.sh文件:黑马提供的初始化命令
tjxt.env.tar.gz: 这个文件很 重要,它里面有执行docker-compose.yaml也就是我们要执行服务的文件,以及其他服务的配置也在这里所以大家只需要将:将
images、tjxt.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 检查服务状态
| 基础服务 | 账号 | 端口 |
|---|---|---|
| mysql | root/123 | 3306 |
| redis | ip/123321 | 6379 |
| 名称 | 域名 | 账号 | 端口 |
|---|---|---|---|
| Git私服 | git.tianji.com | tjxt/123321 | 10880 |
| Jenkins持续集成 | jenkins.tianji.com | root/123 | 18080 |
| RabbitMQ | mq.tianji.com | tjxt/123321 | 15672 |
| Nacos控制台 | nacos.tianji.com | nacos/nacos | 8848 |
| xxl-job控制台 | xxljob.tianji.com | admin/123456 | 8880 |
| 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所带来的注册不到nacos的bug
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 jenkins2、将 Jenkins 用户添加到 docker 和 root 组
usermod -aG docker jenkins usermod -aG root jenkins3、设置 Docker socket 权限
chmod 777 /var/run/docker.sock




> 2、查看使用的分支




1641

被折叠的 条评论
为什么被折叠?



