安装 nodeJs(文中的所有软连接都需要检查自己的目录是否相符!)
下载nodeJS
wget https://nodejs.org/dist/v10.9.0/node-v10.9.0-linux-x64.tar.gz
解压下载包
tar -zxvf node-v10.9.0-linux-x64.tar.gz
移动解压之后的文件夹到/usr/local
mv node-v10.9.0-linux-x64 /usr/local/nodejs
创建软链接,让npm和node命令全局生效
-
ln -s /usr/local/nodejs/bin/node /usr/bin/node
-
ln -s /usr/local/nodejs/bin/npm /usr/bin/npm
查看nodejs是否安装成功
-
node -v
-
npm -v
安装 elasticsearch-head(注意自己选择安装目录)
如果未安装git ,则先安装git工具
yum install –y git
查看git安装情况
因为npm安装非常非常慢,所以在这里先安装淘宝源地址,命令如下:
npm install cnpm -g --registry=https://registry.npm.taobao.org
从 gitHub 上拉取 elasticsearch-head 插件代码
git clone https://github.com/mobz/elasticsearch-head.git
进入elasticsearch-head文件夹
cd elasticsearch-head
创建cnpm软链接,不然执行下面执行命令会报错(查看自己nodejs里的bin目录的位置)
ln -s /usr/local/nodejs/bin/cnpm /usr/local/bin/cnpm
使用cnpm命令下载安装项目所需要的插件
cnpm install
问题描述:
安装完cnpm以后,在node项目中运行:cnpm install命令时,报出“Error:Cannot find module 'fs/promises”错误。
问题分析:
根据分析,原因是Node.js版本太低导致的(也可以说是cnpm版本太高),由于低版本的Node.js对于promises的引入方式与高版本的是不一样,而cnpm版本太高的话,Node是不支持'fs/promises'引入方式的。
解决方案:
降低cnpm的版本:
删除已安装的cnpm版本:npm uninstall -g cnpm
安装低版本cnpm:npm install cnpm@7.1.0 -g --registry=https://registry.npm.taobao.org
大概2分钟之后就安装好了,安装完成之后,修改配置信息
vim _site/app.js
将localhost换成elasticsearch的服务器地址,我的的这台是197.168.24.207。
在Head目录下修改 Gruntfile.js文件:
vi Gruntfile.js
找到connect,添加hostname:'*'
修改_site/app.js
修改IP地址,连接elasticsearch
vi 打开文件后,在命令行下使用 /app.App = 查找
找到后修改IP地址为es所在的ip,不能使用localhost
修改如下
修改elstaicsearch.yml
添加如下参数,启用CORS:
http.cors.enabled: true
http.cors.allow-origin: "*"
修改完成后,启动es,在head目录,启动head,
npm start
访问9200端口,结果如下