内网环境下为Elasticsearch 5.0.2 添加head服务
背景:
本项目的服务器是内网环境,没有网络,因此需要在离线的环境中,安装head服务。
需要用到的安装包有:
- node的安装包
- elasticsearch的head插件源码
说明:此次只讲述为elasticsearch安装head服务,不讲述elasticsearch的安装过程。
部署过程:
1、从node官网下载node for linux的安装包和node for windows安装包
(说明:由于不能服务器上网,因此不能再服务器上使用npm install命令,所以要有一台能上网的电脑,我的是windows的,读者的是什么版本的就下载相应版本的node,用来获取node_modules)。
2、在windows上安装node环境,和其他软件安装一样,不再赘述。
3、将node安装包上传到服务器上的安装目录,解压缩。(node官网给的安装包为tar.xz包,其解压命令为:tar -xjf ****.tar.xz)
4、将node命令、npm命令添加到/usr/local/bin目录中
ln -s ${node安装目录}/bin/node /usr/local/bin/node ln -s ${node安装目录}/bin/npm /usr/local/bin/npm
5、测试node分别在linux和windows上安装成功
node -v npm -v
6、如果不成功,就重新安装;如果成功,那么就需要安装grunt的环境了。
7、在windows安装grunt环境:
① 在cmd中使用npm安装grunt
npm install -g grunt
② 使用npm 安装grunt-cli
npm install -g grunt-cli
8、下载head服务的源码包
在head的上下载head的源码
解压,然后进入解压后的目录,进入cmd命令行中
然后进行依赖安装:
npm install
9、以上都成功后,找到npm下载的grunt、grunt-cli和elasticsearch-head的安装包
grunt与grunt-cli的node_modules目录的位置:c:\users\wei\appdata\roaming\npm。将这个目录下的grunt和grunt-cli打包上传到服务器上
然后,将grunt/bin/grunt命令软连接到/usr/local/bin/grunt,然后将node_modules在/usr/local和/usr/lib两个目录做指向的链接
其次是elasticsearch-head的安装目录的位置是自己指定的。可以将elasticsearch-head全部打包上传到服务器的elasticsearch的plugins目录中。
ln -s /opt/grunt/bin/grunt ln -s /opt/grunt/node_modules /usr/lib/node_modules ln -s /opt/grunt/node_modules /usr/bin/node_modules
10、修改elasticsearch-head目录中的gruntfile.js文件(connect的key下)
第93行 添加 hostname: 'ip地址' 第94行 修改端口号(避免和es的端口号冲突)
11、修改elasticsearch-head目录下的_site目录中的app .js文件
第4354行 this.base_url 的地址修改为http://ip地址:端口号。 # 这个端口号和gruntfile.js设置的端口号一样
12、修改elasticsearch目录下config目录中的elasticsearch.yml文件
如果没有,就添加上,如果有,核实是否一样:
http.cors.enabled: true
http.cors.allow-origin: "*"
13、启动head服务
grunt server &