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即可

至此我们就成功将前后端打包在服务器上部署了,可以使用浏览器访问

renren-fast部署发布教程(tomcat)的更多相关文章

  1. Solr7.3.0入门教程,部署Solr到Tomcat,配置Solr中文分词器

    solr 基本介绍 Apache Solr (读音: SOLer) 是一个开源的搜索服务器.Solr 使用 Java 语言开发,主要基于 HTTP 和 Apache Lucene 实现.Apache ...

  2. maven自动部署到远程tomcat教程

    使用maven的自动部署功能可以很方便的将maven工程自动部署到远程tomcat服务器,节省了大量时间. 本文章适用于tomcat的7.x ,8.x, 9.x版本. 下面是自动部的步骤 1,首先,配 ...

  3. Tomcat部署发布JSP应用程序的三种方法 (转)

    Tomcat部署发布JSP应用程序的三种方法     1.直接放到Webapps目录下      Tomcat的Webapps目录是Tomcat默认的应用目录,当服务器启动时,会加载所有这个目录下的应 ...

  4. Visual Studio 2017 系统发布部署服务器教程

    Visual Studio 2017 系统发布部署服务器教程       一.公司网站部署 --- 第一档 _Visual Studio 2017 发布网站系统教程  二.公司网站部署 --- 第二档 ...

  5. GeoServer基础教程(三):部署发布Shapefile地图数据

    转载:http://blog.csdn.net/mingzai624. 这是GeoServer官方网站提供的一份Shapefile测试数据 nyc_roads.zip ,包含了部分纽约的道路信息,我们 ...

  6. Idea+maven+tomcat部署第一个tomcat项目

    IDEA创建Maven项目及部署发布,IDEA配置Tomcat,创建java源文件夹. 此教程适合刚刚使用IDEA的新手. 工具/原料   IntelliJ IDEA 2016.3.4 apache- ...

  7. springboot项目部署到独立tomcat的爬坑集锦

    目录 集锦一:普通的springboot项目直接部署jar包 集锦二:springboot项目不能直接打war包部署 集锦三:因为tomcat版本问题导致的lombok插件报错:Invalid byt ...

  8. Solr 4.0 部署实例教程

    Solr 4.0 部署实例教程 Solr 4.0的入门基础教程,先说一点部署之后肯定会有人用solrj,solr 4.0好像添加了不少东西,其中CommonsHttpSolrServer这个类改名为H ...

  9. 【转】MyEclipse开发Web项目发布到Tomcat下的Root目录

    通常情况下,Web项目是发布到Tomcat下的webapps文件目录下的 .以至于我们访问的时候: 例如:Web应用项目名称为:webManager,则部署到tomcat后,是部署在tomcat/we ...

随机推荐

  1. MHA 的 Binlog Server & VIP 漂移

    目录 Binlog Server 在 MHA 配置文件中配置 Binlog Server 创建 Binlog 存放目录 实时传输主库 Binlog 命令 重启 MHA 检验 MHA Manager 服 ...

  2. IFIX 5.9 历史数据 曲线 (非SQL模式)

    装完 ifix 5.9 默认是没有Hist 开头的 历史数据源的,没存,至少我装的版本是这样. 那个Historian 也没有安装包,好像还要授权,自己研究不了. 1 先把数据存本地 在你的安装包里 ...

  3. mybaits(七)spring整合mybaits

    与 Spring 整合分析 http://www.mybatis.org/spring/zh/index.html 这里我们以传统的 Spring 为例,因为配置更直观,在 Spring 中使用配置类 ...

  4. 计量经济学导论10:ARIMA模型

    目录 ${\rm ARIMA}$ 模型 滞后算子 ${\rm MA}(q)$ 模型 ${\rm MA}(1)$ 模型 ${\rm MA}(q)$ 模型 ${\rm AR}(p)$ 模型 ${\rm A ...

  5. 网站备案查询/ICP备案查询网

    网站备案查询/ICP备案查询网 互联网站备案信息全国公安机关互联网站安全服务平台http://www.beian.gov.cn/portal/index 1 http://www.miitbeian. ...

  6. Azure & FaaS in Action

    Azure & FaaS in Action VSCode & Azure azure tenant select subscription Cloud Shell https://a ...

  7. Apache HTTP Server & WS (websockets)

    Apache HTTP Server & WS (websockets) Apache HTTP Server Version 2.4 https://httpd.apache.org/doc ...

  8. chrome devtools dark mode

    chrome devtools dark mode default dark mode https://medium.com/@eshwaren/dark-theme-for-chrome-devel ...

  9. ts 遍历Class上的属性和方法

    interface Type<T> extends Function { new (...args: any[]): T; } class Data { name = "ajan ...

  10. Java自学第9期——Lambda表达式

    1.入门 使用场景:如果创建函数式接口(该接口的抽象方法只能有一个)的实例时,使用Lambda表达式更加简洁方便. 2.格式: (形参列表) -> { 代码块 } 3.简化 只有一个参数时,可以 ...