由于最近在學習 SpringBoot 以及 Vue 所以想找一個項目練習一下,順便搭一個個人博客進行練習
本篇文章比較偏向日志,如果需要具體的解決方法可以搜索其他文章
0. 項目打包
其實這一點沒什么可以多說的 springboot 項目在 idea 中執(zhí)行 package ,vue 項目在 webstorm 中執(zhí)行 npm run build
springboot 項目打包生成[target].jar,vue 項目打包生成dist文件夾
得到三個文件[夾]后(vue 項目是前臺和后臺管理兩個項目)準備部署
1. 環(huán)境準備
前端項目需要用nginx進行轉(zhuǎn)發(fā),后臺 api 的 springboot 項目使用mysql數(shù)據(jù)庫以及redis緩存,服務器使用阿里云,圖床使用七牛云
1.1 設置七牛云
這一項應該在對后端打包前完成
七牛云注冊后,創(chuàng)建實例會贈送 10G 的免費流量,創(chuàng)建實例并將測試域名、accessKey、secretKey 以及 實例名稱復制到 springboot 的相關(guān)設置項即可。
使用測試域名只有 30 天的有效期,由于我的域名暫時還未過審,只能先使用測試域名
1.2 設置阿里云
首先要有錢買一個服務器(我也只能用最便宜的學生優(yōu)惠機了)
遠程 ssh 連接實例,安裝 mysql 設置用戶名和密碼,我就簡單的設置了一個密碼用戶直接用 root 了
安裝 redis ,我安裝的時候不停報錯,還是要搜索一下安裝方法,不過我也不做過多的配置就直接用了,即使這樣在安裝的時候各種環(huán)境變量也快把我弄瘋了。
安裝 nginx,做前端的請求轉(zhuǎn)發(fā),這里安裝倒是沒什么問題,但是在配置的時候,由于我想在一臺服務器上安裝兩個項目而且想做到后臺界面是前端的一個子界面即
http://ip/ http://ip/backend
的效果,因此又折騰了一堆前后訪問的配置。
2. 部署
把兩個前端項目的 dist 以及后端打包的 jar 上傳,在nginx中配置前端的項目路徑,用命令nginx -s reload重啟 nginx; 用java -jar [target].jar &后臺運行打包好的 Java 程序
3. 總結(jié)
本身這篇文章是想對我折騰了幾個星期的部署做一個小記錄,可能沒啥內(nèi)容,如果時間允許,后期我會針對每一個小細節(jié)都寫一篇記錄一下(主要是怕忘……)。
TMI
- 如果你看過原項目一定知道原項目還實現(xiàn)了搜索功能,但是我把它去掉了,原因很簡單,不是我不想寫,而是服務器不允許打開
ElasticSearch,如果打開之后后端和搜索服務一起被殺掉了,2G 小內(nèi)存?zhèn)黄鸢?/li>- 不是我不知道
mysqlredisElasticSearchRabbitMQnginx這些用分布式部署就解決了,是我的荷包不允許我再開實例了。