by Devin Yang

建立于: 8年前 ( 更新: 8年前 )

文章下方的影片介绍如何使用rendertron解决Polymer SEO优化的问题。
在我fork的source中,已调整支持中文环境。
并且还添加了pdf的API接口,也可以拿来转pdf。

原始Rendertron GitHub连结
https://github.com/GoogleChrome/rendertron

我fork的source已调整中文环境,可以参考我的GitHub上的设置.
另外,我也调整了source加上了pdf的API,所以使用我的source去build image,会多一个pdf的按钮。
https://github.com/DevinY/rendertron
 

关於'ECONNREFUSED'的错误:

在您的内核缺少用户命名空间支持或尝试访问容器中的服务时,会碰到ECONNREFUSED错误时,
以下两种推荐方法可以解决此问题:
  1. [建议] - 使用 Jessie Frazelle' seccomp profile 及  -security-opt  标记
  2. 利用  --cap-add SYS_ADMIN  标记
一、透过wget下载Jessie Frazelle的Chrome浏览器的seccomp分配文档(chrome.json)启动带有内置映像的容器:
wget https://raw.githubusercontent.com/jfrazelle/dotfiles/master/etc/docker/seccomp/chrome.json -O ~/chrome.json
docker run -it -p 8080:8080 --security-opt seccomp=$HOME/chrome.json --name rendertron-container rendertron


二、使用SYS_ADMIN创建及运行的映像档的容器:
docker run -it -p 8080:8080 --cap-add SYS_ADMIN --name rendertron-container rendertron

关於中文支持

您可能有发现了,原始的docker环境中build出来的image是英文的。
所以透过API抓图时也是英文的(测试网址):
https://render-tron.appspot.com/screenshot/https://www.google.com

如果您不想自己build image
可以直接使用我先build好的image,
运行方式如下:
一、先下载chrome.json到自己host的家目录(只需做一次,如果您使用Mac系统未安装wget,请改用其他方式下载该json档):
wget https://raw.githubusercontent.com/jfrazelle/dotfiles/master/etc/docker/seccomp/chrome.json -O ~/chrome.json

二、创建container,这里我加了--rm的参数,停止时,我要把container移掉,试试抓图的功能,就会是中文的罗。
docker run --rm -it -p 8080:8080 --security-opt seccomp=$HOME/chrome.json --name rendertron-container deviny/rendertron

注:
如果使用 npm install 的方式安装,并使用 npm start 运行,
您的系统环境是中文的即可显示中文。
npm start
> bot-render@1.0.0 start /Users/devin/rendertron
> node src/main.js
Chrome launched with debugging on port 54791
Listening on port 3000


关於rendertron如何实际的运用,详细介绍,请看下方影片说明:

Tags: docker polymer seo

Devin Yang

文章内容无法一一说明,如果您有什么不了解处,欢印提问哦:)

No Comment

Post your comment

需要登入才可留言!

类似文章


linux,docker

如何在Container内运行X client及X Window简介(docker gui)

今天来跟大家谈谈X,不是iPhone X,也不是X战警哦 ,而是X Window System, 他是目前Linux系统主要的图形化界面显示组件。 由於他非常易於扩展及模块化,打从1986年创建,就一直使用至今。 X Window系统采用的为Client / Server的架构,把应用进程跟显示拆分为二, X Windows的应用进程通常我们称为X Client,而显示则是大家所熟知的X Server。 X client与X server透过X协议(X protocol)沟通,这是一个异步的网络通信协议。

docker,laravel,nfs

Docker在macOS上的NFS

D-laravel的nfs模式,在这篇文章您可以了解到,如何在macOS使用NFS+Docker。

docker, api

Swagger介绍

最好的API是使用Swagger工具创建的, 本文介绍如何用docker来运行swagger-ui及editor,让我们创建出可测试的API文档。 在docker的环境,我们可以很轻松的启动swagger编辑器及使用者接口。