一、环境准备,NodeJs安装
nodejs不是本文的重点,略过
二、Node-red安装
1、我们的安装环境是centos7
2、执行如下命令安装
cnpm install -g node-red
3、户动
node-red
http://127.0.0.1:1880便可以访问Node-RED的前台界面,进行编程
但现在的情况是,不需要密码便能访问,这样对外网及不安全,所以我们通过nginx代理转发,加用户名及密码验证,如果不需要此功能的,可不往下看
4、修改node-red访问的根路径为/node-red
cd #进入当前用户的根路径
ls -al
dr-xr-x---. 13 root root 4096 Aug 11 10:14 .
dr-xr-xr-x. 21 root root 4096 Jul 16 15:04 ..
-rw-r--r-- 1 root root 15955 Aug 11 11:13 .bash_history
-rw-r--r--. 1 root root 18 Dec 29 2013 .bash_logout
-rw-r--r--. 1 root root 176 Dec 29 2013 .bash_profile
drwxr-xr-x 3 root root 4096 Aug 11 10:12 .node-gyp
drwxr-xr-x 4 root root 4096 Aug 11 11:12 .node-red
可以看到.node-red的目录,注意有个点
cd .node-red
vim settings.js
关键地方修改
httpAdminRoot: '/node-red',
这个时间重启,访问路径就变为:http://127.0.0.1:1880/node-red,有了根路径,方便nginx代理
三、nginx 代理配置
1、nginx安装
yum -y install nginx
yum -y install httpd-tools
2、密码配置,添加用户名为admin的,然后输入密码为admin
htpasswd -c -d /etc/nginx/conf.d/passwd admin
cd /etc/nginx/conf.d/
vim default.conf
3、nginx配置如下
location /node-red/comms {
proxy_pass http://server15:1880;
proxy_read_timeout 300s;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "upgrade";
}
location /node-red {
proxy_pass http://node-red安装的机器ip:1880;
auth_basic "Please input username and password";
auth_basic_user_file /etc/nginx/conf.d/passwd;
autoindex on;
autoindex_exact_size on;
autoindex_localtime on;
}
说明:
/node-red/comms:代理的是ws
/node-red:代理的是http
现在就可以通过如下地址进行访问,并要求输入用户名及密码admin/admin
http://ip:nginx的端口/node-red