1.本地运行

在安装好docker之后, 我们先全局安装rendertron:

npm install -g rendertron

然后我们需要安装谷歌浏览器(作为合格的开发都应该有谷歌浏览器~),然后就可以用它的cli来启动服务了,我们只需要在命令行执行如下命令:

rendertron 复制代码

之后控制台会打印本地服务启动的地址,比如localhost:3000 这个时候我们只需要在地址后面输入我们想渲染的网站即可: localhost:3000:render/你的网站地址,

如下图所示:

此时我们的rendertron服务已经搭建完成, 接下来我们可以在服务端来实现ssr了,代码如下:

const koa = require('koa');

const app = new koa();

app.use(async (ctx, next) => {

ctx.type = "html";

if(/Baiduspider\/2\.0/g.ctx.header['user-agent']) {

// 是百度爬虫,则转发到rendertron服务中

ctx.redirect(`http://localhost:3000/render/${ctx.url}`)

}else {

// 渲染正常的路由页面

}

await next();

})

app.listen('80');

当然如果我们后端技术栈采用的是express, rendertron有专门的中间件可以使用, 不仅仅可以拦截百度的爬虫,具体用法如下:

const express = require('express');

const rendertron = require('rendertron-middleware');

const app = express();

app.use(rendertron.makeMiddleware({

proxyUrl: 'http://your-rendertron-instance/render',

}));

// 正常的路由和页面渲染逻辑

app.use(...);

app.listen(81);

ssr服务器网站,ssr(服务端渲染)相关推荐

  1. 【SSR和CSR】服务端渲染和客户端渲染区别?如何快速分辨页面是SSR还是CSR?

    首先,介绍一下 SPA.SEO.SSR 三者的区别 SPA(single page application)单页面应用,是前后端分离时提出的一种解决方案. 优点:页面之间切换快:减少了服务器压力: 缺 ...

  2. 一图让你快速弄懂客户端渲染(CSR)与服务端渲染(SSR)

    作为前端开发的话,大多数情况下基本使用CSR来进行页面渲染,但是一定必不可免的会了解到服务端渲染(SSR).为了更好的了解到二者之间的区别我们要抛出一个老生常谈的面试点,浏览器输入一个url地址到页面 ...

  3. react ssr php,一文吃透 React SSR 服务端渲染和同构原理

    全网最完整的 React SSR 同构技术原理解析与实践,从零开始手把手带你打造自己的同构应用开发骨架,帮助大家彻底深入理解服务端渲染及底层实现原理,学完本课程,你也可以打造自己的同构框架. 写在前面 ...

  4. nuxt / ssr简介以及要不要使用服务端渲染(SSR)?

    nuxt / ssr 简介 ssr 是 vue 的服务端渲染技术 nuxt 是一个可以用来做 ssr 服务端渲染 开发的框架 他们之间的关系, ssr 是技术基础, nuxt 是封装 什么是SSR? ...

  5. vue服务端渲染(ssr)与普通vue的区别,ssr的基本使用

    ssr是vue的服务端渲染技术,nuxt是一个可以用来做ssr服务端渲染开发的框架. ssr是技术基础,nuxt是封装 一.什么是SSR? Vue.js 是构建客户端应用程序的框架.默认情况下,可以在 ...

  6. Angular 服务端渲染 Angular Universal 实例

    标准的 Angular 应用运行在浏览器中,它会在 DOM 中渲染页面,以响应用户的操作. 而Angular Universal 会在服务端运行,生成一些静态的应用页面,稍后再通过客户端进行启动. 这 ...

  7. python 服务端渲染_客户端渲染与服务端渲染

    后端渲染 服务器直接生成HTML文档并返回给浏览器,但页面交互能力有限.适用于任何后端语言:PHP.Java.Python.GO等. 客户端渲染(CSR) 页面初始加载的HTML文档中无内容,需要下载 ...

  8. Vue 服务端渲染 预渲染

    文章目录 简介 那么 什么是服务端渲染 为什么使用服务端渲染 服务端渲染 or 预渲染 区别 如何使用预渲染 如何搭建一个预渲染开发环境 Tip 写在最后 简介 关于 Vue 的 SPA 说的已经太多 ...

  9. 单页面应用和服务端渲染-引入nuxt.js

    SPA Single Page Application 单页面应用 MPA Mulpile Page Application 多页面应用 CSR Client Side Render 客户端渲染 SS ...

最新文章

  1. 用局部条件图集建模三维曲面流形
  2. java tostringutils_StringUtils
  3. 深入探讨下Linux下修改hostname的五个问题(四)
  4. zoj 3351 Bloodsucker(概率 dp)
  5. JavaScript 访问对象属性和方法及区别
  6. EasyTrader踩坑之旅总结
  7. 李宏毅机器学习之Classification
  8. 现在,你可以撸机器猫了
  9. android 广播观察者,androidObservable观察者模式
  10. HTTP协议【详解】——经典面试题
  11. 解决win10自动锁屏问题的一个方法
  12. sqlbulkcopy是覆盖式更新吗_关于5G消息,这五点你知道吗?
  13. Android自定义View画钟表
  14. 【FusionCompute】基于FreeNAS部署并使用虚拟存储(五)
  15. 跳槽最大原因不是为钱,你信吗?
  16. vue drag函数拖拽效果实现
  17. js编写五种基础排序(冒泡排序、选择排序、插入排序、快速排序、sort)
  18. css实现hover遮图罩
  19. ceil — 进一法取整 4.1 = 5 5.9 = 6 取小数点两位
  20. python 打印日历

热门文章

  1. 如何判断/获取屏幕的状态(亮屏已解锁,亮屏未解锁,黑屏)
  2. 新款苹果手机_售价千元!苹果今日推出新款手机壳,买吗
  3. 【高并发编程】再谈同步、异步、阻塞、非阻塞
  4. 正则验证车牌号码(包括新能源车牌)
  5. EasyPoi word导出教程
  6. 无扩展,不 Chrome
  7. 病来如山倒,病去如抽丝
  8. 小马哥---高仿三星Galaxy J100H主板型号J7210国外版 刷机拆机图
  9. 手动修改dns服务器设置,如何修改DNS设置 修改DNS设置方法【详解】
  10. 你们知道官网购买服务器可以返佣吗