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
    });

  • 相关阅读:
    c++/c语言中如何调用DLL
    fortran出现stack overflow的原因及解决办法
    iOS: ARC和非ARC下使用Block属性的问题
    Objective-C Autorelease Pool 的实现原理
    class-dump 复制到/usr/bin目录不可写,Operation not permitted 解决办法
    Auto Layout 使用心得
    iOS-关于微信支付
    IOS应用安全(五):高级Runtime分析和操作
    Objective-C Runtime 运行时之六:拾遗
    Objective-C Runtime 运行时之五:协议与分类
  • 原文地址:https://www.cnblogs.com/liuzhenwei/p/7562900.html
Copyright © 2011-2022 走看看