1、環境
Linux centos7
elasticsearch-head的zip包,github網址如下:https://github.com/mobz/elasticsearch-head
nodejs的linux對應位數下載:https://nodejs.org/en/download/
2、安裝nodejs
解壓後如下圖所示:
進入bin執行下面的三個可執行檔案:
[root@mycentos bin]# ./node -v [root@mycentos bin]# ./npm -v [root@mycentos bin]# ./npx -v
執行./npm -v會報錯如下:
/usr/bin/env: node: 沒有那個檔案或目錄
此時需要配置環境變數即可,修改/etc/profile,行尾追加如下命令:
[root@mycentos ~]# vim /etc/profile export NODE_HOME=/opt/nodejs/node-v8.9.4-linux-x64/ export PATH=$PATH:$NODE_HOME/bin export NODE_PATH=$NODE_HOME/lib/node_modules
#執行命令生效:
[root@mycentos ~]# source /etc/profile
3、安裝elasticsearch-head
進入到elasticsearch-head主目錄執行:
[elastic@mycentos elasticsearch-head-master]$ npm install
安裝過程中出現錯誤:
Please report this full log at https://github.com/Medium/phantomjs
npm ERR! Darwin 15.0.0
npm ERR! argv "/usr/local/bin/node" "/usr/local/bin/npm" "install"
npm ERR! node v4.4.3
npm ERR! npm v3.10.9
npm ERR! code ELIFECYCLE
npm ERR! phantomjs-prebuilt@2.1.14 install: `node install.js`
npm ERR! Exit status 1
npm ERR!
npm ERR! Failed at the phantomjs-prebuilt@2.1.14 install script 'node install.js
解決方案如下:
#忽略指令碼繼續進行安裝 npm install phantomjs-prebuilt@2.1.14 --ignore-scripts
最終安裝成功!成功後當前目錄多了一個node_modules資料夾。
4、配置
(1)配置Head主目錄下的Gruntfile.js,預設檔案中是沒有hostname屬性的,我們需要手動新增:
connect: { server: { options: { port: 9100, base: '.', keepalive: true, hostname: '*' } } }
(2)配置elasticsearch 的啟動配置檔案:
為什麼需要修改配置檔案:
head外掛連線elasticsearch需要注意的點:
因為head外掛是一個獨立程式,啟動後是一個獨立的伺服器外加埠,比如我的虛擬機器ip地址:http://192.168.0.111:9100/
而elasticsearch啟動後也是一個獨立的程式,ip地址:http://192.168.0.111:9200/
這樣兩個獨立程式,雖然伺服器ip地址相同,但是埠不同,此時會發生跨域的情況。。
於是官方給出這樣一段話,我們在對elasticsearch啟動的時候追加兩個配置檔案屬性即可防止跨域。
#在檔案末尾新增即可
http.cors.enabled: true http.cors.allow-origin: "*"
5、啟動Head外掛
#切回到head的主目錄下,執行如下命令
[elastic@mycentos elasticsearch-head-master]$ npm run start
然後在瀏覽中開啟:http://localhost:9100
安裝完畢!