zoukankan      html  css  js  c++  java
  • 部署prerender服务器

    // 安装 git

    sudo apt-get install git

    sudo apt-get install curl // 请先确认服务器是否安装了curl 如果已经安装跳过即可

    // 安装 node
    curl -sL https://deb.nodesource.com/setup_6.x | sudo -E bash -
    sudo apt-get install -y nodejs

    sudo apt-get install -y build-essential

    // 下载 prerender
    git clone https://github.com/prerender/prerender

    cd prerender

    // 安装依赖包
    npm i --registry https://registry.npm.taobao.org

    // 启动
    node server.js

    // 如果遇到以下错误(后面两行提示的)
    2016-12-31T19:57:42.231Z starting worker thread #0
    2016-12-31T19:57:42.452Z starting phantom...
    2016-12-31T19:57:42.460Z Server running on port 3000
    /home/ubuntu/prerender/node_modules/.2.1.14@phantomjs-prebuilt/lib/phantom/bin/phantomjs: error while loading shared libraries: libfontconfig.so.1: cannot open shared object file: No such file or directory
    (node:10992) UnhandledPromiseRejectionWarning: Unhandled promise rejection (rejection id: 1): Error: /home/ubuntu/prerender/node_modules/.2.1.14@phantomjs-prebuilt/lib/phantom/bin/phantomjs: error while loading shared libraries: libfontconfig.so.1: cannot open shared object file: No such file or directory

    // 修复方案
    sudo apt-get install libfontconfig

    // 启动成功
    ubuntu@VM-0-110-ubuntu:~/prerender$ node server.js
    2016-12-31T20:00:55.655Z starting worker thread #0
    2016-12-31T20:00:55.865Z starting phantom...
    2016-12-31T20:00:55.873Z Server running on port 3000
    2016-12-31T20:00:56.491Z started phantom

    问题:

    1、需要安装chrome。如何安装可以百度或google

    2、可能需要增加chrome的启动选项在server.js里
    var server = prerender({
      chromeFlags: ['--no-sandbox', '--headless', '--disable-gpu', '--remote-debugging-port=9222', '--hide-scrollbars']
    });

    3、修改启动端口,在启动服务器前设置环境变量,export PORT=3300 或
    var server = prerender({
      port: 3300
    });

  • 相关阅读:
    急招.NET系列职位
    程序员成长的三个方法
    xwebkitspeech
    张小龙的产品
    浅析商业银行“业务连续性管理体系”的构建
    Sonar for dotNet
    Moles测试Contrustor时候遇到的一个问题
    EntityFramework 用Moles的mock
    Accessor中Generic的元素是internal/private的会导致转换失败的异常
    Android自用Intent 介绍
  • 原文地址:https://www.cnblogs.com/liuzhenwei/p/7562900.html
Copyright © 2011-2022 走看看