zoukankan      html  css  js  c++  java
  • centos7 安装phantomjs 记录

    今天小伙伴要通过java后端生成echart图片,让我在测试服务器上给安装一下phantomjs,具体使用这里我没接触,就先记录下centos7安装运行phantomjs的过程。

    1、下载phantomjs压缩包:

    wget https://bitbucket.org/ariya/phantomjs/downloads/phantomjs-2.1.1-linux-x86_64.tar.bz2

    我这里系统是centos7 64位,所以下载该版本,需要32位的去官网自己复制地址咯:https://phantomjs.org/download

    2、因为下载的压缩包是bz2包,需要bzip2来解压,所以要安装bzip2:

    yum install bzip2 

    3、解压下载的压缩包:

    tar -jxvf phantomjs-2.1.1-linux-x86_64.tar.bz2

    这里我也很好奇,是用tar来解压的,但参数里多加了一个 j,如果不安装bzip2 是会报错的,安装bzip2 正常解压。

    4、重命名(或移动)文件夹:

    mv phantomjs-2.1.1-linux-x86_64 /usr/local/phantomjs2.1.1

    重命名文件夹完全是为了好看,但我这里保留了版本号,方便直观看版本,不过话说这个版本好多年都不更新了。。。

    5、建立软连接:

    ln -sf /usr/local/phantomjs2.1.1/bin/phantomjs /usr/local/bin/phantomjs

    这里有的文档说的是

    ln -s /usr/local/phantomjs2.1.1/bin/phantomjs /usr/bin/ 

    具体这俩路径有什么区别,我都试了下也没看出啥来。。。。

    (啥是软连接,俺也不知道~~)简单看了一眼,看到 -s 就是软连接,但是加 -f 如果目标文件不存在时会先移除再创建(危险操作,谨慎加 -f)

    6、安装依赖:

    yum install fontconfig freetype2

    7、绑定环境变量:

    打开环境配置文件: vi /etc/profile
    有的系统编辑文件是 vim 哦
    
    修改参数:
    已配置过 JDK 环境变量的话,export PATH 这条后面加上
    
    :/usr/local/phantomjs2.1.1/bin
    
    变成
    
    export PATH=$JAVA_HOME/bin:$PATH:/usr/local/phantomjs2.1.1/bin
    
    没有的话就如下:
    
    export PATH=$PATH:/usr/local/phantomjs2.1.1/bin
    
    最后别忘记执行:
    source /etc/profile 使改动生效

     8、查看版本号,测试安装结果:

    phantomjs -v

    正常是可以在浏览器里访问到接口的,如果访问不到,检查是否被防火墙屏蔽了。 


      

    后来小伙伴说还要加一个  echarts-convert.js 用于配置 echarts 什么的,来源是: https://gitee.com/saintlee/echartsconvert

    下载到centos7是zip压缩包,所以又需要安装zip解压工具(可以先执行下一步解压看下是否存在解压工具,存在就不必再安装此步骤):

    yum install -y zip unzip

    安装后执行解压到当前文件夹:

    unzip master.zip 

    然后启动执行该文件:

    phantomjs echarts-convert.js -s -p 9090

     -p 9090 是定义端口号,不加默认端口就是9090 哦~~

    启动成功则显示:

     echarts-convert server start success. [pid]=40795                      

    至于后面使用就是别人的事了,但看echarts-convert.js 已停更4年,而且作者文档中最底部自己指出有缺陷,评论里说饼图也有问题,,,感觉可能使用并不会理想呢。。。

    后端java使用链接由小伙伴提供:

    https://blog.csdn.net/weixin_38429587/article/details/89477373

    https://www.cnblogs.com/lxp-java/p/13674384.html#4923585 


    今天准备发布测试啦,phantomjs 启用不是后台运行的,需要自己写后台启动或者搭建系统服务。

    一、后台运行:

    nohup phantomjs /usr/local/phantomjs2.1.1/echartsconvert-master/echarts-convert.js -s > /dev/null 2> /dev/null &

    解释:

    nohub:表示后台运行。

    > /dev/null 2> /dev/null:表示把日志记录到哪里,其中/dev/null不存在,所以不会写入,但是如果不加这句,会报错:nohup: ignoring input and appending output to ‘nohup.out’

    &:&符号表示结尾,不然也会报错:nohup: ignoring input and appending output to ‘nohup.out’

    二、创建系统运行服务:

    开机自动后台运行服务使用 systemctl,早有阮一峰大神文章详细介绍:http://www.ruanyifeng.com/blog/2016/03/systemd-tutorial-commands.html

    总结关键部分:

    1、在/usr/lib/systemd/system 文件夹下创建对应文件 phantomjs.service:

    vi phantomjs.service

    2、加入内容:

    [Unit]
    Description=echart phantomjs
    
    [Service]
    ExecStart=/usr/local/phantomjs2.1.1/bin/phantomjs /usr/local/phantomjs2.1.1/echartsconvert-master/echarts-convert.js -s -p 9090
    
    [Install]
    WantedBy=multi-user.target

    标签解释就看上面阮一峰的文章链接吧,其中Install标签必须有且必须放在最后,否则服务状态为static无法启动,Service中如果不引入系统变量的话必须要用物理路径,否则报错。

    3、启动服务:

    // 设为开机运行
    systemctl enable phantomjs.service
    
    // 启动服务
    systemctl start phantomjs.service
    
    // 查看状态
    systemctl status phantomjs.servcie

    4、该步骤不用运行,当停止和取消服务时运行。

    // 停止服务
    systemctl stop phantomjs.service
    
    // 禁用开机启动
    systemctl disable phantomjs.service
  • 相关阅读:
    多种方式实现数组的扁平化处理
    利用node中的内置模块fs实现对简单文件的读取 拷贝 创建等功能
    浅谈es5和es6中的继承
    js之冒泡排序与快速排序
    IE5,IE6,IE7,IE8的css兼容性列表[转自MSDN]
    css3 动画
    各种浏览器css hack
    解决li在ie,firefox中行高不一致问题
    Css:背景色透明,内容不透明之终极方法!兼容所有浏览器
    png-24在ie6中的几种透明方法
  • 原文地址:https://www.cnblogs.com/jying/p/15177353.html
Copyright © 2011-2022 走看看