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

芋道管理后台是一款全部开源、个人与企业均可免费使用的企业级快速开发平台,它提供了丰富的开箱即用功能,能帮助开发者节省大量重复造轮子的时间,特别适合个人项目、毕业设计或中小型管理系统的快速搭建。本文将详细介绍如何利用 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,在外网电脑上,打开浏览器,在地址栏输入从路由侠生成的外网地址,就可以看到内网部署的芋道管理后台的登录界面了。

相关推荐
Brilliantwxx3 小时前
【Linux】 进程(9)程序与进程地址空间(基础+进阶+面试题)
linux·运维·服务器·开发语言·c++
不怕犯错,就怕不做4 小时前
git prune 自动删除本地记录中那些远程已经不存在的分支引用
linux·服务器·git
richdata4 小时前
商品数字化不是先做大数据,而是先把数据变成可用决策
大数据·运维·数据治理·商品数字化·智能补货·ai商品决策
weixin_416667965 小时前
【无标题】
运维·服务器·网络
予昊5 小时前
从零实现“在线五子棋对战“:WebSocket 实时通信 + 段位匹配
java·开发语言·网络·websocket
一池秋_5 小时前
arm低配linux设备,桌面应用冷启动提速方法
linux·运维·arm开发
上海云盾-小余7 小时前
流量攻击复盘:为什么 WAF 完好,业务依旧瘫痪
运维·服务器·网络
IT大白鼠7 小时前
Docker 私有仓库管理:Harbor 企业级仓库搭建与镜像全生命周期管理
运维·docker·容器
戴西软件7 小时前
戴西iDWS.3DViz Suite数据轻量化可视化软件,从传统桌面软件向云端协同的重大突破
大数据·运维·网络·人工智能·机器学习·3d
芯盾时代7 小时前
《金融业网络安全管理办法(征求意见稿)》全条款深度拆解(三)
网络·安全·网络安全