renren-fast部署發布教程(tomcat)


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上的
  1. 在打包前准備:

    • 修改/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)
      })
      
  2. 進入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	#打包
      

      此時我們發現沒有報錯了,可以正常打包,此方法親測有效

      詳細解決方案參考這里:https://stackoverflow.com/questions/55921442/how-to-fix-referenceerror-primordials-is-not-defined-in-node

    • 打包完成后,我們可以在./dist目錄查看

將這三項內容放置到tomcat的/webapps/Test下,啟動tomcat即可

至此我們就成功將前后端打包在服務器上部署了,可以使用瀏覽器訪問


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM