linux部署若依微服务全流程

        记录一下自己使用若依微服务的过程,其中很多坑,如果是大神去部署的话,分分钟的事情,我是之前没有自己去动手部署,所以踩了很多坑,记录一下,也与各位分享这款比较优秀的后台开源管理系统,二次开发很方便。
感谢若依作者的开源贡献,若依官网:RuoYi

        注意:若依微服务基础版的容器全部启动的话要10个,内存不够的话不建议使用,要按需取舍,我原本的阿里云服务器就2H4G的,基础服务ruoyi-mysql、ruoyi-redis ​​、ruoyi-nacos起了之后,就1.6-1.7G这样,起了微模块之后,直接把内存干爆了,被办法只能升级内存了,升级到2H8G,才勉强,我还是没有启动job和monitor的情况下就占了6.1G了, 所以各位按需取舍,有实力的当我没说哈哈哈哈哈

基础服务

  • ruoyi-mysql:数据库服务
  • ruoyi-redis:redis服务
  • ruoyi-nacos: nacos服务
  • ruoyi-nginx:nginx服务
  • ruoyi-gateway:网关服务
  • ruoyi-auth:鉴权服务

微服务模块

  • ruoyi-modules-system:系统模块服务
  • ruoyi-modules-gen:代码生成服务
  • ruoyi-modules-file:文件服务
  • ruoyi-modules-job:定时任务服务
com.ruoyi     
├── ruoyi-ui              // 前端框架 [80]
├── ruoyi-gateway         // 网关模块 [8080]
├── ruoyi-auth            // 认证中心 [9200]
├── ruoyi-api             // 接口模块
│       └── ruoyi-api-system                          // 系统接口
├── ruoyi-common          // 通用模块
│       └── ruoyi-common-core                         // 核心模块
│       └── ruoyi-common-datascope                    // 权限范围
│       └── ruoyi-common-datasource                   // 多数据源
│       └── ruoyi-common-log                          // 日志记录
│       └── ruoyi-common-redis                        // 缓存服务
│       └── ruoyi-common-seata                        // 分布式事务
│       └── ruoyi-common-security                     // 安全模块
│       └── ruoyi-common-sensitive                    // 数据脱敏
│       └── ruoyi-common-swagger                      // 系统接口
├── ruoyi-modules         // 业务模块
│       └── ruoyi-system                              // 系统模块 [9201]
│       └── ruoyi-gen                                 // 代码生成 [9202]
│       └── ruoyi-job                                 // 定时任务 [9203]
│       └── ruoyi-file                                // 文件服务 [9300]
├── ruoyi-visual          // 图形化管理模块
│       └── ruoyi-visual-monitor                      // 监控中心 [9100]
├──pom.xml                // 公共依赖

一、linux安装Docker

轻量级日志系统docker-compose搭建Loki+Grafana+Promtail,配置、部署,查询全流程_loki docker-compose-优快云博客

传送门,我写的博客里面有docker compose的安装,第一点

二、linux安装Docker Compose

轻量级日志系统docker-compose搭建Loki+Grafana+Promtail,配置、部署,查询全流程_loki docker-compose-优快云博客

传送门,我写的博客里面有docker compose的安装,第二点

三、linux安装解压工具

在你想要下载的目录执行下面的命令,我放的目录是/home下

wget http://www.rarlab.com/rar/rarlinux-x64-5.0.0.tar.gz
tar -zxvf rarlinux-x64-5.0.0.tar.gz
make && make install

如果出现问题,

-bash: /usr/local/bin/unrar: /lib/ld-linux.so.2: bad ELF interpreter: 没有那个文件或目录

解决办法 这是由于不兼容,安装64位的5.0.0版本解决

三、GIT拉取若依微服务项目

git clone https://gitee.com/y_project/RuoYi-Cloud.git

四、前端页面编译、打包

执行一下命令:

npm install
npm run build:prod

五、修改项目中的nacos配置(这个步骤很重要)

idea全局替换127.0.0.1:8848,改为 ruoyi-nacos:8848

六、IDEA打包,编译

七、Git bash运行copy.sh脚本

打开git bash界面

sh copy.sh

八、复制项目到云服务器

九、解压上传的压缩文件

我的路径是在home下直接解压,因为压缩包是rar的,所以用unrar命令

unrar x docker.rar

十、对脚本赋权限

chmod +x deploy.sh

十一、转换脚本格式

直接运行的后果:/bin/sh^M:损坏的解释器: 没有那个文件或目录

原因:在windows下编辑的脚本文件,为DOS格式

解决方法:

1.使用用DOS2UNIX转为UNIX格式

2.执行文件前,先执行 sed -i 's/\r$//' xxx.sh,进行替换操作;然后再执行

sed -i 's/\r$//' deploy.sh 

 3.使用vim命令,打开文件执行

:set ff=unix
:wq

十二、开启所需端口

./deploy.sh port

十三、启动基础环境(必须)

./deploy.sh base

然后先连接MYSQL数据库,不然有可能nacos会报错,访问不了

十四、打开数据库以及nacos,修改配置文件

浏览器输入:服务器的IP:8848/nacos,账号密码都是nacos

将配置文件的redis配置localhost修改为ruoyi-redis

将数据库的链接中的localhost改为ruoyi-mysql

修改后点击发布即可

十五、启动程序模块(必须)

./deploy.sh modules

启动后登录页面,http://xxx.xxx.xxx.xxx/login

十六、踩坑内容

  1. 第五点的修改nacos的配置
  2. 脚本的授权,权限不够大会报错,第十点
  3. 脚本的格式问题,在第十一点就有提到
  4. 这个点比较坑,我不知道是不是因为mysql的链接数量过大导致的mysql容器自动down掉,然后数据库的数据全没了,得重新启动数据库,然后执行前面的SQL脚本(后续还需要观察)
docker restart 容器的ID

后面修改了一下docker-compose文件的ruoyi-mysql:下添加,

    restart: always                                 #跟随docker的启动而启动

docker-compose文件的mysql服务如下:

ruoyi-mysql:
    container_name: ruoyi-mysql
    image: mysql:5.7
    build:
      context: ./mysql
    ports:
      - "3306:3306"
    volumes:
      - ./mysql/conf:/etc/mysql/conf.d #配置文件挂载
      - ./mysql/logs:/logs #日志文件挂载
      - ./mysql/data:/var/lib/mysql #数据文件挂载
    command: [
          'mysqld',
          '--innodb-buffer-pool-size=80M',
          '--character-set-server=utf8mb4',
          '--collation-server=utf8mb4_unicode_ci',
          '--default-time-zone=+8:00',
          '--lower-case-table-names=1'
        ]
    restart: always    
    environment:
      MYSQL_DATABASE: 'ry-cloud'
      MYSQL_ROOT_PASSWORD: xxxxxxxxxxxxxxxxxx

之后关闭mysql容器,重新执行

./deploy.sh base

现在已经稳定了,

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值