by Devin Yang

建立於: 7年前 ( 更新: 7年前 )

文章下方的影片介紹如何使用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

需要登入才可留言!

類似的文章


docker

如何在Raspberry上用Docker啟動HAProxy

Raspberry很便宜有相當多的運用,例如有人拿來當Wifi的router, 遊戲機,監視器及許許多多物聯網相關運用,我則是用他來當一台HAProxy。 長話短說,因為有一台老舊的Windows伺服器,他執行舊版本的PHP及Apache,並且無法設定HTTPS憑證,所以就想說 透過HAProxy來幫忙啦。讓這台老舊伺服器也可以有https的網址, 所以來分享我的docker-compose.yml設。

docker, d-laravel, docker-compose, laravel

docker-compose載入多個設定檔

我們會用docker --network建立多個container互連,但是如果四個container時, 是不是就要下四次docker run不同container的指令,殺了我吧, 本文介紹透過docker-compose這個yaml檔定義一次搞定多個container的建立。 了解如何用dokcer-compose -f 參數載入多個設定檔。  

docker,php,cli

MacOS的php不給力,用docker執行laravel installer

非常簡單呀,加個「別名」就好了alias laravel='docker run --rm -v ${PWD}:/var/www/html -v ~/.dlaravel/cache:/home/dlaravel/.composer/cache -ti deviny/fpm:8.1.10 /home/dlaravel/.composer/vendor/bin/laravel'