首页 > 其他 > 详细

FEBS-Cloud 部署文档

时间:2020-12-03 10:12:06      阅读:183      评论:0      收藏:0      [点我收藏+]

部署之前

部署前我们需要准备如下内容:

  1. 使用FinalShell连接你的CentOS 7服务器;

  2. 将群文件里的febs.tar发送至服务器的\(根)目录下;

    技术分享图片

  3. \目录下执行命令tar -xvf febs.zip解开压缩包,你可以在根目录下看到/febs

  4. 安装docker、docker-compose

  5. 为docker换源

1. CentOS7 服务器配置JDK8

  1. JDK的位置放在/febs/third-party/jdk,我提供了原来的压缩包;

  2. 进入上述目录,使用命令解压tar -xvf jdk-8u271-linux-x64.tar.gz(输到jdk的时候,可以按tab补全)

  3. 接下来直接在profile配置JDK的绝对路径,再手动生效即可:

    [root@localhost ~]# vim /etc/profile (若此时没有vim命令,可以使用命令“yum install vim”安装vim)
    ## ---
    ## 以下为/etc/profile的文件内容
    
    ## 在文件最后添加下面四行内容保存即可
    export JAVA_HOME=/febs/third-part/jdk/jdk1.8.0_271
    export JRE_HOME=$JAVA_HOME/jre
    export CLASSPATH=.:$JAVA_HOME/lib:$JRE_HOME/lib:$CLASSPATH
    export PATH=$JAVA_HOME/bin:$JRE_HOME/bin:$PATH
    
    [root@localhost ~]#
    [root@localhost ~]# source /etc/profile # 让配置文件生效
    [root@localhost ~]# java -version # 查看JDK版本
    java version "1.8.0_271"
    Java(TM) SE Runtime Environment (build 1.8.0_271-b09)
    Java HotSpot(TM) 64-Bit Server VM (build 25.271-b09, mixed mode)
    

2. Docker启动第三方服务(MySQL、Redis、MongoDB)

进入/febs/third-party目录,可以看到里面有一个docker脚本docker-compose.yml,脚本可以自动化下载镜像、启动容器,具体内容如下:

version: ‘3‘

services:
  mysql:
    image: mysql:5.7.24 # 指定MySQL版本
    container_name: mysql
    restart: always # 启动容器时,MySQL容器会自动启动
    environment:
      MYSQL_ROOT_PASSWORD: 123456 # root密码
    ports:
      - 3306:3306 # 映射端口
    volumes:
      - /febs/third-part/mysql/data:/var/lib/mysql # 挂载 MySQL数据
  redis:
    image: redis:4.0.14
    container_name: redis
    restart: always
    command: redis-server /usr/local/etc/redis/redis.conf --appendonly yes
    volumes:
      - /febs/third-part/redis/data:/data # 挂载 Redis数据
      - /febs/third-part/redis/conf/redis.conf:/usr/local/etc/redis/redis.conf # 挂载 Redis配置
    ports:
      - 6379:6379
  mongo:
    image: mongo
    container_name: mongodb
    restart: always
    ports:
      - 27017:27017
    volumes:
      - /febs/third-part/mongodb:/data/db # 挂载 MongoDB数据

/febs/third-party目录下,执行命令docker-compose up -d,docker会自动拉取指定版本的镜像,并按照脚本设定,启动指定容器。等脚本执行完成,使用命令docker ps可以查看当前正在运行的容器。

使用命令systemctl enable docker,设置docker服务开机自启,那么每当虚拟机启动时,docker就启动了,DB服务也就启动了。

技术分享图片

3. 导入数据库表信息

完成上述步骤,我们在虚拟机已经启动MySQL服务了,接下来我们使用Navicat去连接它。

技术分享图片

接下来导入主系统数据,新建一个名称为febs_cloud_base的数据库,导入sql/febs_cloud_base.sql

技术分享图片

技术分享图片

按照同样的方法,新建一个名称为febs_nacos的数据库,导入sql/febs_nacos.sql,这里演示步骤省略。

4. 启动第三方动态配置中心 Alibaba Nacos

由于Nacos本身也是Java程序,在做这一步前,确保JDK环境已经配置完成了。

进入/febs/third-part/nacos/conf目录,编辑application.propertiesNacos配置文件。

使用vim application.properties进入编辑界面,将{xxxxx}部分替换成你虚拟机的IP地址,例如我这里填写192.168.2.131

技术分享图片

修改完以后保存退出编辑界面,在FinalShell下面的”命令“工具栏,右击”添加命令 “,添加内容如下:

技术分享图片

编辑完成后确定,点击刚刚创建的命令“启动nacos”,即可启动Nacos服务。此时访问http://{虚拟机IP}:8001/nacos/index.html即可进入Nacos管理页面。账户:febs,密码:123456。

技术分享图片

(P.S. 若此时无法进入此页面,请检查防火墙是否启动,若启动则需要关闭,关闭的命令如下)

[root@localhost third-part]# systemctl status firewalld  # 检查防火墙是否启动,若为active,即为启动
[root@localhost third-part]# systemctl stop firewalld  # 关闭防火墙
[root@localhost third-part]# systemctl disable firewalld  # 关闭防火墙开机自启服务 
Removed symlink /etc/systemd/system/multi-user.target.wants/firewalld.service.
Removed symlink /etc/systemd/system/dbus-org.fedoraproject.FirewallD1.service.

至此,配置中心的启动完成。

5. 生成Docker镜像,启动FEBS-Cloud微服务系统

这一步是启动系统的最后一步。

首先,我们需要为每个微服务组件生成镜像,下面是整个工程在微服务架构中的功能名称。

技术分享图片

我们只需要为上述7个组件打包进行即可,下面我以febs-auth微服务鉴权中心为例,其余6个组件的打包过程是一致的。

进入/febs/febs-auth目录,目录下有一个名为Dockerfile的文件,是自动化打包的预设脚本,其中的内容如下:

FROM openjdk:8u212-jre
MAINTAINER SuphxLin kiols6@aliyun.com

COPY febs-auth-2.2-RELEASE.jar /febs/febs-auth-2.2-RELEASE.jar

ENTRYPOINT ["java", "-Xmx512m", "-jar", "/febs/febs-auth-2.2-RELEASE.jar"]

使用命令对目录下的jar包打包,docker build -t febs-auth .,命令中的“febs-auth”即为镜像的名称,后序的6个镜像,请严格按照文件夹的名字命名,这后序会影响微服务启动使用的docker-compose.yml。打包过程由Docker自动完成,例如jar包需要的Java依赖,在Dockerfile中也以及指定了JDK版本,容器会自动创建一个JDK环境。之前换源的目的,也是为了在加快下载容器内的依赖。

技术分享图片

以上,即完成了一个镜像的打包,下面贴出其他镜像打包的代码,请到对应的文件夹下执行打包命令:

docker build -t febs-auth .
docker build -t febs-admin .
docker build -t febs-gateway .
docker build -t febs-server-system .
docker build -t febs-server-test .
docker build -t febs-tx-manager .
docker build -t febs-cloud-web .

(P.S. febs目录下还有generator和job两个服务,比较吃内存,我就没有加入docker-compose.yml中,这里也没有打包,如果有兴趣尝试,也可以参照上述的打包方式)

打包完成后,使用命令docker images,查看所有镜像:

技术分享图片

最后,进入febs/febs-cloud/目录,根据你的虚拟机IP,你需要修改docker-compose.yml的一些配置,使用命令vim docker-compose.yml 下面配置中所有含有IP地址的,均换成你自己虚拟机的IP地址即可:

version: ‘3‘

services:
  febs-admin:
    image: febs-admin:latest
    container_name: febs-admin
    volumes:
      - "/febs/log:/log"
    command:
      - "--nacos.url=192.168.2.131"
    environment:
      - "TZ=Asia/Shanghai"
    ports:
      - 8401:8401
  febs-gateway:
    image: febs-gateway:latest
    container_name: febs-gateway
    volumes:
      - "/febs/log:/log"
    command:
      - "--febs-admin=192.168.2.131"
      - "--mongo.url=192.168.2.131"
      - "--nacos.url=192.168.2.131"
      - "--redis.url=192.168.2.131"
    environment:
      - "TZ=Asia/Shanghai"
    ports:
      - 8301:8301
  febs-auth:
    image: febs-auth:latest
    container_name: febs-auth
    volumes:
      - "/febs/log:/log"
    command:
      - "--febs-admin=192.168.2.131"
      - "--nacos.url=192.168.2.131"
      - "--mysql.url=192.168.2.131"
      - "--redis.url=192.168.2.131"
    environment:
      - "TZ=Asia/Shanghai"
    ports:
      - 8101:8101
  febs-server-system:
    image: febs-server-system:latest
    container_name: febs-server-system
    volumes:
      - "/febs/log:/log"
    command:
      - "--febs-admin=192.168.2.131"
      - "--febs-gateway=192.168.2.131"
      - "--nacos.url=192.168.2.131"
      - "--mysql.url=192.168.2.131"
      - "--febs-tx-manager=192.168.2.131"
    environment:
      - "TZ=Asia/Shanghai"
    ports:
      - 8201:8201
    depends_on:
      - febs-tx-manager
  febs-server-test:
    image: febs-server-test:latest
    container_name: febs-server-test
    volumes:
      - "/febs/log:/log"
    command:
      - "--nacos.url=192.168.2.131"
      - "--febs-admin=192.168.2.131"
      - "--mysql.url=192.168.2.131"
      - "--febs-tx-manager=192.168.2.131"
      - "--febs-gateway=192.168.2.131"
    environment:
      - "TZ=Asia/Shanghai"
    ports:
      - 8202:8202
    depends_on:
      - febs-tx-manager
  febs-tx-manager:
    image: febs-tx-manager:latest
    container_name: febs-tx-manager
    volumes:
      - "/febs/log:/log"
    command:
      - "--nacos.url=192.168.2.131"
      - "--febs-admin=192.168.2.131"
      - "--mysql.url=192.168.2.131"
      - "--redis.url=192.168.2.131"
    environment:
      - "TZ=Asia/Shanghai"
    ports:
      - 8501:8501
      - 8888:8888
  febs-cloud-web:
    image: febs-cloud-web
    container_name: febs-cloud-web
    volumes:
      - "/febs/log:/log"
    environment:
      - "TZ=Asia/Shanghai"
    ports:
      - 9527:80

使用命令docker-compose up -d,自动化启动FEBS-Cloud微服务权限管理系统。

(P.S. 如出现:ERROR: Failed to Setup IP tables: Unable to enable SKIP DNAT rule: (iptables failed: iptables --wait -t nat -I DOCKER -i br-4a3e20ec967f -j RETURN: iptables: No chain/target/match by that name. (exit status 1)),那应该是你刚刚关闭了防火墙,那么你需要使用命令 systemctl restart docker,重启docker服务)

启动后,你需要等待一会儿,等到FinalShell显示的CPU降低后,访问:http://{你虚拟机的IP}:9527,即可登录到FEBS-Cloud微服务权限管理系统,账户:mrbird,密码:123456。

教程结束!

FEBS-Cloud 部署文档

原文:https://www.cnblogs.com/SuPhXLiN/p/14077256.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!