摘自:https://blog.csdn.net/Dreamboy_w/article/details/104389797
部署springboot+vue項目文檔(若依ruoyi項目部署步驟)
一:部署linux + nginx
二:部署windows + tomcat(無nginx)
三:解決調用第三方api如百度地圖api所存在的跨域問題
最近部署若依項目,一直部署失敗,多虧有好人將這篇文章相贈,特地分享出來供大家學習參考,希望大家共同進步。
一:部署linux + nginx
部署后台代碼
1.1 由於本人采用的是idea工具開發,所以在terminal中mvn clean package生成對應的jar包,此jar包可去對應文件所在目錄的target查找。
1.2 將jar復制到linux之中。
部署前端代碼
2.1 使用npm run build:prod --report將前端項目打包,將會在前端目錄下生成一個dist文件夾。
2.2 同樣將dist復制到linux之中。
linux服務器中需要裝載redis以及nginx,redis是存放緩存數據,nginx是用於代理前后端服務。
3.1 安裝redis並啟動。
3.2 安裝nginx並修改相關配置。
找到nginx所在目錄,並修改conf/nginx.conf文件,修改如下圖:
代碼如下:
worker_processes 1;
events {
worker_connections 1024;
}
http {
include mime.types;
default_type application/octet-stream;
sendfile on;
keepalive_timeout 65;
server {
listen 80; # 監聽的端口
server_name 自己的服務器地址; # 域名或ip
location / { # 訪問路徑配置
root /usr/local/ruoyi/dist/;# 根目錄
try_files $uri $uri/ /index.html;
index index.html index.htm; # 默認首頁
}
location /prod-api/ {
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/;
}
}
}
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
啟動jar包,並啟動nginx,在windows瀏覽器中直接輸入ip即可訪問。
4.1 jar后台啟動,后台啟動的話可以進行其他操作,否則將無法進行其他操作。
nohup java -jar jarName >msg.log 2>&1 &
msg.log文件是在輸入上一行啟動命令的當前目錄下
有的小伙伴可能第一次打包放上去沒問題,但是后期修改了一些文件或者菜單等,再部署上去可能會遇到菜單打不開之類的問題
不要慌,只要修改vue.config.js文件里面的配置就好,如下圖,去掉/之前的.即可
二:部署windows + tomcat(無nginx)
修改pom文件,改jar為war:
打包成war包之后直接復制到windows中的tomcat的webapps目錄下,並修改名稱為prod-api,類似部署在linux中需要修改nginx.conf的配置。
將vue項目打包並把dist文件復制到tomcat的webapps目錄下。
修改tomcat目錄下的conf文件夾下的service.xml:
4.1 啟動端口為后台的啟動端口
4.2 在host節點下添加對應的訪問路徑配置代碼
<Context path="/" docBase="dist的絕對路徑(也可以寫相對於webapps的路徑)" reloadable="true" crossContext="true"></Context>
1
如果不添加此處代碼,登錄是可以的,但是登陸之后是空白頁,因為在本地的運行的項目是類似ip:端口/router地址的,如果不修改,將會導致前面所說的問題。(不知道說的對不對,個人猜想)
啟動tomcat,輸入ip:端口即可。
以上操作之后刷新頁面的話會存在404錯誤,所以需要在dist目錄的文件夾下新建WEB-INF文件夾,並在里面添加web.xml文件:
web.xml文件代碼如下:
<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns="http://xmlns.jcp.org/xml/ns/javaee"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee
http://xmlns.jcp.org/xml/ns/javaee/web-app_3_1.xsd"
version="3.1" metadata-complete="true">
<display-name>Router for Tomcat</display-name>
<error-page>
<error-code>404</error-code>
<location>/index.html</location>
</error-page>
</web-app>
1
2
3
4
5
6
7
8
9
10
11
12
三:解決調用第三方api如百度地圖api所存在的跨域問題
————————————————
版權聲明:本文為CSDN博主「Dreamboy_w」的原創文章,遵循CC 4.0 BY-SA版權協議,轉載請附上原文出處鏈接及本聲明。
原文鏈接:https://blog.csdn.net/Dreamboy_w/article/details/104389797