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

 

posted @ 2021-08-23 19:06  一 定 会 去 旅 行  阅读(735)  评论(0编辑  收藏  举报