這篇文章主要介紹“分享兩個開源的Spring Boot + Vue前后端分離項目”,在日常操作中,相信很多人在分享兩個開源的Spring Boot + Vue前后端分離項目問題上存在疑惑,小編查閱了各式資料,整理出簡單好用的操作方法,希望對大家解答”分享兩個開源的Spring Boot + Vue前后端分離項目”的疑惑有所幫助!接下來,請跟著小編一起來學(xué)習(xí)吧!
為安吉等地區(qū)用戶提供了全套網(wǎng)頁設(shè)計制作服務(wù),及安吉網(wǎng)站建設(shè)行業(yè)解決方案。主營業(yè)務(wù)為成都網(wǎng)站制作、網(wǎng)站設(shè)計、安吉網(wǎng)站設(shè)計,以傳統(tǒng)方式定制建設(shè)網(wǎng)站,并提供域名空間備案等一條龍服務(wù),秉承以專業(yè)、用心的態(tài)度為用戶提供真誠的服務(wù)。我們深信只要達到每一位用戶的要求,就會得到認可,從而選擇與我們長期合作。這樣,我們也可以走得更遠!
vblog.itboyhub.com
vhr.itboyhub.com
這兩個二級域名分別用來部署 V 部落和 微人事。
大家可以通過這兩個地址查看效果:
微人事
V 部落
為了確保每位小伙伴都能看到完整的演示效果,防止有的小伙伴不慎把所有數(shù)據(jù)清空了,導(dǎo)致其他小伙伴啥都看不到,我只開通了演示賬戶的查詢和部分字段的更新權(quán)限,因此大家在查看演示效果時,可能會有一些涉及到增刪改的操作會執(zhí)行失敗,請勿見怪,將項目部署到本地運行之后,就可以查看完整效果了。
既然都寫到這兒了,就和大家聊一聊這兩個部署是怎么實現(xiàn)的。
大家知道前后端分離部署的時候,我們有兩種不同的方案:
一種就是將前端項目打包編譯之后,放到后端項目中(例如 Spring Boot 項目的 src/main/resources/static
目錄下)
另外一種則是將前端打包之后的靜態(tài)資源用 Nginx 來部署,后端單獨部署只需要單純的提供接口即可。
一般在公司項目中,我們更多的是采用后者。不過松哥這里部署為了省事,我采用了第一種方案。(以后抽空我會和大家聊聊第二種部署方案)
域名映射這塊簡單,登錄阿里云后臺,添加兩個 A 記錄即可。
將 微人事和 V 部落分別打包上傳到服務(wù)器,這個過程應(yīng)該就不用我多說了吧,然后分別啟動這兩個項目,兩個項目的默認端口分別是 8081 和 8082,命令如下:
nohup java -jar vblog.jar > vblog.log &nohup java -jar vhr.jar > vhr.log &
將兩個項目的運行日志分別寫入到 vblog.log 和 vhr.log 文件中。
啟動成功之后,我們就可以通過 itboyhub.com:8081
和 itboyhub.com:8082
兩個端口來分別訪問這兩個項目了。但是這還沒達到松哥的目標,我想通過二級域名來訪問,并且想通過 80 端口來訪問,這就要借助 Nginx 了。
注意
啟動完成后,大家需要登錄阿里云后臺,確認 8081 和 8082 端口已經(jīng)開啟。
這里我們主要來看看 Nginx 的配置。
由于有兩個二級域名,而且未來服務(wù)器還要配置其他域名,因此域名要能夠做到動態(tài)解析,因此在具體配置如下:
server { listen 80; server_name *.itboyhub.com; if ($http_host ~* "^(.*?)\.itboyhub\.com$") { set $domain $1; } # 其他配置...}
首先監(jiān)聽的端口為 80
二級域名則用一個通配符 *
代替
接下來在 if 語句用,通過正則表達式提取出二級域名的名字,交給變量 $domain,以備后用。
接下來配置轉(zhuǎn)發(fā)規(guī)則:
location / { if ($domain ~* "vhr") { proxy_pass http://itboyhub.com:8082; } if ($domain ~* "vblog") { proxy_pass http://itboyhub.com:8081; } tcp_nodelay on; proxy_set_header Host $host; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; index index.html; }
當(dāng)定義的 $domain 中包含 vhr 字符時,將請求轉(zhuǎn)發(fā)到 http://itboyhub.com:8082
當(dāng)定義的 $domain 中包含 vblog 字符時,將請求轉(zhuǎn)發(fā)到 http://itboyhub.com:8081
最后再配置將代理服務(wù)器收到的用戶的信息傳到 real server 上
另一方面,由于默認的后端首頁是 /index.html
,如果用戶直接訪問
vblog.itboyhub.com 或者
vhr.itboyhub.com,會被權(quán)限管理機制攔截(會自動重定向到 /login_p
),因此,如果用戶訪問地址中沒有 /index.html
,則自動添加上 /index.html
,配置如下:
location /login_p { if ($domain ~* "vhr") { rewrite ^/(.*)$ http://vhr.itboyhub.com/index.html permanent; } if ($domain ~* "vblog") { rewrite ^/(.*)$ http://vblog.itboyhub.com/index.html permanent; } }
注意,這行配置在 location /
之前進行配置,這里兩個 if 的含義和前面的一樣,不再贅述。
到此,關(guān)于“分享兩個開源的Spring Boot + Vue前后端分離項目”的學(xué)習(xí)就結(jié)束了,希望能夠解決大家的疑惑。理論與實踐的搭配能更好的幫助大家學(xué)習(xí),快去試試吧!若想繼續(xù)學(xué)習(xí)更多相關(guān)知識,請繼續(xù)關(guān)注創(chuàng)新互聯(lián)網(wǎng)站,小編會繼續(xù)努力為大家?guī)砀鄬嵱玫奈恼拢?/p>
網(wǎng)頁標題:分享兩個開源的SpringBoot+Vue前后端分離項目
標題網(wǎng)址:http://weahome.cn/article/jjehcs.html