將vue+springboots+mysql+docker上傳到伺服器
一. 簡介
團隊:GangOfFive
專案名稱:開源課後答疑係統
二. 環境搭建
專案使用方法有兩種
- 線上網站:晚一些發出
這裡是將專案部署在了遠端伺服器上,使用者可以直接使用。
具體使用方法請檢視使用說明書。
線上部署:
伺服器:阿里雲伺服器
域名:騰訊雲域名以及SSL證書
專案執行環境:docker
專案依賴:Mysql映象,node映象,java8映象,nginx映象
具體操作:本地vue專案執行npm run build生成dist資料夾,然後通過Xftp6傳輸到遠端伺服器,同時還要將相應的dockerfile和default.conf檔案傳輸過去,並且因為用的是https加密,所以傳過加密證書。
這裡dockerfile和default.conf在文件最後會給出,但是加密證書由於備案不方便洩露所以不發出。
在遠端docker進入相應的前端資料夾執行docker build -t gangoffivecloud .命令
即可將dist打包成一個docker映象名為gangoffivecloud。
然後執行docker run -p 8081:8085 -d --name gangoffivecloud gangoffivecloud
即可將名為gangoffivecloud的映象執行到名為gangoffivecloud的容器裡。
這裡前端就已經開始在伺服器上運行了。
後端的話,將springboots打包成一個GangOfFive-0.0.1-SNAPSHOT.jar的jar檔案,這裡我用的是idea
先clean把之前的build快取清理,然後package打包就會生成一個target資料夾
然後通過Xftp6把jar包和相應dockerfile傳過去。
在伺服器處進入相應的後端資料夾,執行docker build -t gangoffive .命令
就可以得到一個名為gangoffive的docker映象,然後執行命令
docker run -p 8085:8085 -d --name gangoffive gangoffive
便可將名gangoffive的docker映象執行在名為gangoffive的容器裡。
此時後端也在伺服器裡運行了。
然後再docker pull mysql:latest
docker run -itd --name mysql-test -p 3306:3306 -e MYSQL_ROOT_PASSWORD=123456 mysql
將mysql映象執行到名為mysql-test的容器裡,並且初始root管理員密碼為123456
後端yml裡怎麼寫連線遠端資料庫
注意,我們資料庫專案用了檢視,所以要給使用者授權,具體授權方法請檢視網上查詢資料:mysql8 賦予檢視查詢和所有許可權。
當然本地navicat也可以連線遠端mysql
然後就完成了。
- 本地部署
Mysql部署:
下載mysql8或者更新的版本。
前端部分:
下載node
後端部分:
下載java8
執行vue專案我這裡就不說了,然後跑後端springboots專案我也不說了。
這裡說一下需要注意的,前端vue執行npm run serve後正常來說我們專案配置了host:0.0.0.0所以會出現兩種訪問途徑,一個是本機,另一個是一個ip加一個埠,
注意要是要同一個區域網的人訪問你的vue專案,應該是從第二個(network)進入,
但是有兩種可能的問題會出現:1.配置了host不出現第二個network
這裡可能是你開了vpn或者網路情況不好,這時你應該進入cmd輸入ipconfig
找到
這個地址加上:8081埠就是network了
2.有可能你的network別人訪問不了,你把它ip換成cmd的ipconfig的wlan的ip(上圖的紅色框框)
然後別人就成功進如你電腦執行的vue前端專案了。
後端的話正常執行就ok
然後資料庫,前後端都可以運行了,就可以進入我們專案了。