前言
常用的部署方式有兩種:
1.是把生成好的靜態頁面放到spring boot的static目錄下,與打包后的spring boot項目一起發布,當spring boot運行起來后,自然而然就能訪問到靜態頁面文件了。
這種方法比較簡單,適用於非常小型的系統。優點是:不需要復雜的配置。而缺點也很明顯:需要兩者一同發布。我在這里就不做贅述了。
2.是通過http服務器發布,本文以nginx為例,重點介紹這種方式。
一、生成靜態頁面
運行npm run build
生成的頁面文件在dist目錄下:
二、配置nginx
windows系統下載nginx:http://nginx.org/en/download.html
下載完解壓后,找到conf/nginx.conf文件,並修改:
worker_processes 1; events { worker_connections 1024; } http { include mime.types; server { listen 80; server_name localhost; # 靜態文件夾路徑 root 你的路徑; index index.html index.htm; # 后端配置 location /api/ { proxy_redirect off; proxy_set_header Host $host; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; # 后端url proxy_pass http://localhost:18080/; } } }
其中,root項目是配置靜態網頁文件所在的路徑,配置成你自己的目錄。
location是配置spring boot項目跨域,這里我配置了當匹配到有“/api/”開頭的請求,就會轉到spring boot的項目中處理。
運行效果如下圖所示:
訪問nginx的地址,就能訪問到之前生成的靜態頁面和spring boot的后端。
而這就是前后端分離開發的魅力所在。
git代碼地址:https://github.com/carter659/spring-boot-vue-element.git
如果你覺得我的博客對你有幫助,可以給我點兒打賞,左側微信,右側支付寶。
有可能就是你的一點打賞會讓我的博客寫的更好:)