第一步,安装git
需要从github上面下载代码,因此先要安装git
yum -y install git
安装完成后,就可以直接下载代码了:
git clone git://github.com/mobz/elasticsearch-head.git
我在这里遇到个问题
[root@localhost head]# git clone git://github.com/mobz/elasticsearch-head.git
正克隆到 'elasticsearch-head'...
fatal: read error: Connection reset by peer
解决方法 在确定服务器能链接外网的情况下,将git:// 改为http://即可
第二步,安装node
由于head插件本质上还是一个nodejs的工程,因此需要安装node,使用npm来安装依赖的包。(npm可以理解为maven)
[root@localhost opt]# wget https://nodejs.org/dist/v8.12.0/node-v8.12.0-linux-x64.tar.xz
下载下来的jar包是xz格式的,一般的linux可能不识别,还需要安装xz.
yum -y install xz
然后解压nodejs的安装包:
xz -d node*.tar.xz
tar -xvf node*.tar
设置nodejs的环境变量
export NODE_HOME=/opt/node-v8.12.0-linux-x64
export PATH=$PATH:$NODE_HOME/bin
刷新环境变量
source /etc/profile
查看安装情况:
[root@localhost opt]# node -v
v8.12.0
[root@localhost opt]# npm -v
6.4.1
第三步,安装grunt
grunt是一个很方便的构建工具,可以进行打包压缩、测试、执行等等的工作,5.0里的head插件就是通过grunt启动的。因此需要安装一下grunt:
grunt命令行(CLI) 安装在全局环境下,所以命令是这么写滴!
npm install -g grunt-cli
安装完成后检查一下:
[root@localhost ~]# grunt -version
grunt-cli v1.3.1
第四步,修改head源码
由于head的代码还是2.6版本的,直接执行有很多限制,比如无法跨机器访问。因此需要用户修改两个地方:
修改服务器监听地址
目录:head/Gruntfile.js
connect: { server: { options: { port: 9100, hostname: '*', base: '.', keepalive: true } } }
增加hostname属性,设置为*
修改连接地址:目录:head/_site/app.js
修改head的连接地址:
this.base_uri = this.config.base_uri || this.prefs.get("app-base_uri") || "http://localhost:9200";
把localhost修改成你es的服务器地址,如:
this.base_uri = this.config.base_uri || this.prefs.get("app-base_uri") || "http://10.10.10.10:9200";
执行npm install 下载依赖的包:
npm install
最后,启动nodejs
grunt server