本地部署企业级快速开发平台芋道管理后台并实现外部访问

芋道管理后台是一款全部开源、个人与企业均可免费使用的企业级快速开发平台,它提供了丰富的开箱即用功能,能帮助开发者节省大量重复造轮子的时间,特别适合个人项目、毕业设计或中小型管理系统的快速搭建。本文将详细介绍如何利用 Docker 在局域网内下载运行芋道管理后台,并且结合路由侠内网穿透实现外网访问本地的芋道管理后台。

第一步,本地部署安装芋道管理后台

1,本教程操作环境为 Linux Ubuntu 系统,芋道管理后台依赖 Docker 运行,我们需要先确保你的系统上已经安装了 Docker 。如果尚未安装,可以参考文档进行安装,点此查看

2,安装 Docker Compose 。

复制代码
sudo curl -L "https://github.com/docker/compose/releases/download/$(curl -s https://api.github.com/repos/docker/compose/releases/latest | grep -Po '"tag_name": "\K.*\d')" /usr/local/bin/docker-compose

3,安装 Git 和 Maven 。

复制代码
sudo apt install git maven -y
mvn -version

4,部署基础中间件,启动 MySQL 和 Redis 容器。

复制代码
docker run -d \
  --name yudao_mysql \
  -p 3306:3306 \
  -e MYSQL_ROOT_PASSWORD=123456 \
  --restart=unless-stopped \
  mysql:8.4.2
复制代码
docker run -d \
  --name yudao_redis \
  -p 6379:6379 \
  --restart=unless-stopped \
  redis:7.2.5

5,克隆并进入项目目录,初始化数据库。

复制代码
git clone https://gitee.com/zhijiantianya/ruoyi-vue-pro.git
cd ruoyi-vue-pro

创建数据库。

复制代码
docker exec -i yudao_mysql mysql -uroot -p123456 -e 'CREATE DATABASE IF NOT EXISTS `ruoyi-vue-pro` CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;'

导入 SQL 。

复制代码
docker exec -i yudao_mysql mysql -uroot -p123456 ruoyi-vue-pro < ./sql/mysql/ruoyi-vue-pro.sql
docker exec -i yudao_mysql mysql -uroot -p123456 ruoyi-vue-pro < ./sql/mysql/quartz.sql

6,部署后端服务,编辑配置文件。

复制代码
sudo vim yudao-server/src/main/resources/application-local.yaml

修改以下内容:

复制代码
spring:
  datasource:
    master:
      url: jdbc:mysql://你的服务器IP:3306/ruoyi-vue-pro?useSSL=false&serverTimezone=Asia/Shanghai&allowPublicKeyRetrieval=true&nullCatalogMeansCurrent=true&rewriteBatchedStatements=true
      username: root
      password: 123456
  
  redis:
    host: 你的服务器IP
    port: 6379

编译打包。

复制代码
mvn clean package -Dmaven.test.skip=true

7,进入项目目录并创建 Dockerfile 文件。

复制代码
cd yudao-server
复制代码
cat > Dockerfile << 'EOF' FROM eclipse-temurin:8-jre ENV TZ=Asia/Shanghai RUN ln -snf /usr/share/zoneinfo/$TZ /etc/localtime && echo $TZ > /etc/timezone
WORKDIR /app
COPY target/yudao-server.jar app.jar
EXPOSE 48080
ENTRYPOINT ["java", "-jar", "app.jar"]
EOF

构建镜像。

复制代码
docker build -t yudao-server:latest .

8,启动后端容器。

复制代码
docker run -d \
  --name yudao-server \
  --network=host \
  --restart=unless-stopped \
  yudao-server:latest

9,部署前端服务,回到根目录创建并进入项目目录。

复制代码
cd ~
mkdir yudao-frontend
cd yudao-frontend

下载前端代码,解压后进入目录。

复制代码
wget https://gitee.com/yudaocode/yudao-ui-admin-vue3/repository/archive/master.zip
unzip master.zip
mv yudao-ui-admin-vue3-master yudao-ui-admin-vue3
cd yudao-ui-admin-vue3

10,安装 Node.js 和 pnpm 。

复制代码
curl -fsSL https://deb.nodesource.com/setup_18.x | sudo -E bash -
sudo apt install nodejs -y

编辑环境配置文件。

复制代码
sudo vim .env.dev

修改以下内容:

复制代码
VITE_API_BASE_URL=http://你的服务器IP:48080/admin-api/

11,安装依赖。

复制代码
pnpm install

批准构建脚本。

复制代码
pnpm approve-builds --select-all

编译。

复制代码
pnpm run build:dev

12,创建 Nginx 配置文件。

复制代码
cat > nginx.conf << 'EOF'
server {
    listen 80;
    server_name localhost;
    
    location / {
        root /usr/share/nginx/html;
        index index.html;
        try_files $uri $uri/ /index.html;
    }
    
    location /admin-api/ {
        proxy_pass http://192.168.1.183:48080/admin-api/;
        proxy_set_header Host $host;
        proxy_set_header X-Real-IP $remote_addr;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        proxy_set_header X-Forwarded-Proto $scheme;
    }
}
EOF

13,执行以下命令,启动 Nginx 容器。

复制代码
docker run -d \
  --name yudao-frontend \
  -p 80:80 \
  -v $(pwd)/dist:/usr/share/nginx/html \
  -v $(pwd)/nginx.conf:/etc/nginx/conf.d/default.conf \
  --restart=unless-stopped \
  nginx:alpine

14,打开浏览器访问地址 http://你的服务器 IP ,就能看到你部署的芋道管理后台的登录界面了。

第二步,外网访问本地芋道管理后台

安装路由侠内网穿透。

1,当前未提供网页管理,需要先在任意一台 Windows 机器安装路由侠 Windows 版本,用作跨机器管理。点此下载

2,在路由侠客户端主界面,进入" 设备管理 ",点击右下角的" 添加设备 ",此时可查看到对应的安装码,此安装码用于将设备添加到对应账号下,可选中后复制。

3,直接下载后导入:

复制代码
wget https://dl.luyouxia.com:8443/v2/lyx-docker-x86_64.tar
docker load -i lyx-docker-x86_64.tar

4,然后使用该镜像启动容器。

复制代码
docker run --name lyx -it --restart=always --net=host -e code=这里填写安装码 luyouxia/lyx

5,此时,需要等待下载和安装的过程,如果一切正常,最终可以看到一些输出,并且可以看到如下提示:

复制代码
[Device] Logged in. Token: ....

这就表示安装成功了。

当前 Linux 终端这边,如果是使用的上面的命令,Docker 是运行在前台,此时可以按住 Ctrl + C ,退出路由侠,容器也将退出。现在可以使用以下命令将其放入后台持续运行:

复制代码
docker start lyx

注意如果容器删除,重新 docker run ,将创建为新的设备。

需要注意的是,因为容器参数已经添加了 --restart=always ,这样开机就会自动启动,不需要再手动启动路由侠了。

6,现在回到 Windows 这边设备列表,点击右上角的 × 返回主界面,再次进入,就可以找到这个设备,可以修改名称。

7,回到主界面,点击【内网映射】。

8,注意右上角的设备名称下拉框,这里选中刚刚添加的设备名称,此时在这个界面上添加的映射,就属于刚刚这个设备。添加或修改一般需要等待 30 秒,容器中的路由侠进程就会更新并加载。切换好设备后,点击【添加映射】。

9,选择【原生端口】。

10,在内网地址填写你的服务器 IP 和芋道管理后台端口 80 后点击【创建】按钮,如下图。

11,创建好后,就可以看到一条映射的公网地址,鼠标右键点击【复制地址】。

12,在外网电脑上,打开浏览器,在地址栏输入从路由侠生成的外网地址,就可以看到内网部署的芋道管理后台的登录界面了。

相关推荐
basketball6161 小时前
软考中级网络工程师 第4章 无线通信网 备考总结
linux·服务器·网络·网络工程师·软考
yunlaodacom1 小时前
阿里云国际站注册:性能损耗 < 1%!基于 eBPF 的服务器异常预测实战与调优指南
大数据·服务器·阿里云
好评1242 小时前
【Linux】进程信号
linux·运维·服务器
cakeism8252 小时前
Gitee DevOps 平台定位、核心能力与选型指南
运维·gitee·devops
xianyuCcCcCCCcc2 小时前
Nginx 深度解析:从基础架构到反向代理与负载均衡实战全解
linux·运维·nginx·bash·负载均衡
qq_25294131683 小时前
列车车轮缺陷智能检测数据集:800张图像、4大类别,助力铁路安全运维
运维·人工智能·安全·yolo·目标检测·计算机视觉·视觉检测
爱折腾的小码农3 小时前
解决Navicat 17 Premium Lite在Linux上运行报错“LIBSYSTEMD_251‘ not found”问题
linux·运维
Doraemomo3 小时前
Linux编程-标准IO和系统IO
linux·运维·服务器
骇客野人3 小时前
Linux 查看 Java 进程常用命令
java·linux·运维