手動部署RuoYi前后端分離項目

RuoYi文檔地址:http://doc.ruoyi.vip
前后端不分離項目地址:https://gitee.com/y_project/RuoYi(前端代碼位于 src/main/resources/templates
前后端分離項目地址:https://gitee.com/y_project/RuoYi-Vue (此前端代碼位于 /ruoyi-ui 為vue2版本,vue3版本前端地址:https://github.com/yangzongzhuan/RuoYi-Vue3

1. 后端項目

1.1 環(huán)境準備

JDK、MySQL、Redis、Maven

1.2 運行

  1. 創(chuàng)建數(shù)據(jù)庫ry-vue并導入數(shù)據(jù)腳本ry_2021xxxx.sql,quartz.sql
  2. 打開項目運行com.ruoyi.RuoYiApplication.java,出現(xiàn) (????)?? 若依啟動成功 ?(′??)? ` 表示啟動成功。
  3. 驗證 http://localhost:8080

配置文件位于:src/main/resources/application.yml (application-druid.yml)

其中如下地址需要注意:

# src/main/resources/application.yml
# 文件路徑 示例( Windows配置D:/ruoyi/uploadPath,Linux配置 /home/ruoyi/uploadPath)
  profile: /home/ruoyi/uploadPath

# src/main/resources/logback.xml
<!-- 日志存放路徑 -->
<property name="log.path" value="/home/ruoyi/logs" />

1.3 打包

  1. 執(zhí)行 /bin/package.bat 腳本 或 mvn clean package -Dmaven.test.skip=true 命令
  2. 生成包位置 /ruoyi-admin/target/ruoyi-admin.jar

主模塊 ruoyi-admin,依賴其他模塊,如ruoyi-framework、ruoyi-common等,打包時其他模塊同理打出jar包供主模塊依賴

可修改打包方式為 war/jar,位置 /ruoyi-admin/pom.xml文件中的 <packaging>jar</packaging>

1.4 部署運行

  1. 上傳至服務器目標位置
  2. 執(zhí)行命令運行 java -jar ruoyi-admin.jar
  3. 驗證,服務器終端 curl 127.0.0.1:8080 或 瀏覽器打開服務器對應地址+端口驗證,注意端口占用,默認是8080端口

2. 前端項目

2.1 環(huán)境準備

Node、Nginx(部署使用)

2.2 運行

yarn install
yarn dev

根據(jù)執(zhí)行日志提示對應的網(wǎng)址打開驗證,默認地址是http://localhost:80,默認賬戶/密碼 admin/admin123

2.3 打包

  1. yarn build:prod
  2. 生成位置 /dist 文件夾,里面就是構建打包好的文件,通常是 .js 、.css、index.html 等靜態(tài)文件。

打包配置位于 /vite.config.js/vue.config.js,依賴打包工具不同
其中如下配置需要注意:

// 例如 https://www.ruoyi.vip/。如果應用被部署在一個子路徑上,你就需要用這個選項指定這個子路徑。例如,如果你的應用被部署在 https://www.ruoyi.vip/admin/,則設置 baseUrl 為 /admin/。
    base: VITE_APP_ENV === 'production' ? '/' : '/',

2.4 部署

放置服務器上,請求地址的端口和后端項目端口不一致,導致接口請求失敗

使用Nginx 服務器轉(zhuǎn)發(fā)

  1. 配置/usr/local/etc/nginx/nginx.conf
http {
    
    server {
        listen     80; # 1 設置 Nginx 監(jiān)聽的端口
        #root /your_custom_directory; # 2 此處定義Nginx的根路徑,或下方也可

        location / {
            root   /your_custom_directory; # 2 同上
            try_files $uri $uri/ /index.html;
            index  index.html index.htm;
        }
        
        location /prod-api/ { # 3 對 域名+/prod-api/ 的請求進行轉(zhuǎn)發(fā)
            proxy_set_header Host $http_host;
            proxy_set_header X-Real-IP $remote_addr;
            proxy_set_header REMOTE-HOST $remote_addr;
            proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
            proxy_pass http://localhost:8080/; # 4 轉(zhuǎn)發(fā)到目標地址
        }
    }

    # 其他監(jiān)聽配置
    server {
        listen 8080;
        ...
    }
}
  1. 將打包生成的 dist 文件夾放到配置的 /your_custom_directory 的目錄下(可額外新建子目錄)
  2. 驗證,注意請求Nginx的端口,在請求接口 /prod-api 就會轉(zhuǎn)到目標地址,否則會請求不到

java 項目 8080
前端項目用 Nginx 的目錄下 然后轉(zhuǎn)發(fā)到8080端口
本地可以修改 Nginx 的 location 的根目錄
前端訪問地址統(tǒng)一用 Nginx 的端口,這樣 vue項目請求接口就能請求到java項目了

自動部署

使用Jenkins實現(xiàn)打包、發(fā)布、部署
同時使用docker鏡像+Registry(harbor)
k8s 編排容器
https://blog.csdn.net/weixin_54202028/article/details/125989942

Springboot整合MongoDB的Docker開發(fā),其它應用也類似

微軟Docker微服務開發(fā)流程

『中級篇』 Docker Bridge詳解(26)
『中級篇』 docker容器之間的Link(27)

最后編輯于
?著作權歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。

相關閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容