renren-fast部署發布教程(tomcat)
說明:renren的開發文檔需要付費,官方的生產部署介紹相對比較簡單,因此記錄自己的部署過程
為了方便,前后端我都部署在同一台linux服務器上,其中前端使用tomcat部署
后端部分
- 后端就是打成jar包,這部分只要能在開發環境跑起來,
maven install
一下就可以了,一般不會有問題
打包后再服務器上運行,如下:
java -jar renren-fast.jar --spring.profiles.active=test #這里以測試服務器為例
記得提前修改好application.yml
文件
執行命令后瀏覽器打開http://ip:port/renren-fast/swagger/index.html
前端部分
- 關於前端,官方推薦是部署在nginx的,這里為了方便我是部署在tomcat上的
-
在打包前准備:
-
修改
/config/index.js
中assetsPublicPath,dev和build兩部分都修改,否側部署tomcat打開頁面會是白屏,如下: -
修改
/src/router/index.js
,如下:const router = new Router({ base: '/Test/', //**在tomcat的webapps文件夾下新建同名目錄,打包后文件放置其中 mode: 'history', //**hash修改為history后,可去除url上的#號 scrollBehavior: () => ({ y: 0 }), isAddDynamicMenuRoutes: false, // 是否已經添加動態(菜單)路由 routes: globalRoutes.concat(mainRoutes) })
-
-
進入renren-fast-vue目錄,命令行執行
npm run build
進行打包,其中很可能會遇到以下問題-
問題:
fs.js:35 } = primordials; ^ ReferenceError: primordials is not defined
這個問題gulp版本導致的,可以查看
package.json
,發現gulp版本是3.9.1,我們的node是12,版本不匹配引起的報錯,詳細參考:https://github.com/gulpjs/gulp/issues/2324 -
解決方法:
網上的解決方法主要是升級gulp版本到4以上,或node回退到10版本,其實還有不用升級或回退的方法:
在renren-fast-vue目錄,新建
npm-shrinkwrap.json
文件,輸入以下內容:{ "dependencies": { "graceful-fs": { "version": "4.2.2" } } }
隨后,執行以下命令:
npm install #再次安裝依賴 npm run build #打包
此時我們發現沒有報錯了,可以正常打包,此方法親測有效
-
打包完成后,我們可以在./dist目錄查看
-
將這三項內容放置到tomcat的/webapps/Test下,啟動tomcat即可
至此我們就成功將前后端打包在服務器上部署了,可以使用瀏覽器訪問