Node-RED使用指南:6:配置与设定总结:运行环境配置

在这里插入图片描述
在前一篇文章中通过设定settings.js文件,配置出了Node-RED的管理员登录页面,这篇文章将就Node-RED的配置和设定的运行环境配置部分进行总结。

配置文件

配置文件从哪里读出来,实际上在启动的时候启动日志中就会有详细的说明,比如使用官方镜像启动的Node-RED服务的启动日志中,可能有类似如下的日志信息:

5 Mar 09:14:18 - [info] Settings file  : /data/settings.js

配置文件就是上述的这个settings.js。而这个文件最初来源于node-red的包下,比如镜像方式的情况下就是/usr/src/node-red/node_modules/node-red目录下的settings.js文件。

liumiaocn:~ liumiao$ docker exec -it nodered sh
~ $ cd node_modules/node-red
~/node_modules/node-red $ ls
CHANGELOG.md  LICENSE       README.md     bin           lib           package.json  red.js        settings.js
~/node_modules/node-red $ pwd
/usr/src/node-red/node_modules/node-red
~/node_modules/node-red $ 

但是需要注意的是,官方镜像中运行态起作用的配置文件是/usr/src/node-red/node_modules/node-red,而使用npm本地安装的也会有所不同。

指定配置文件方式:也可以在启动时通过--settings使用指定的文件

运行环境配置

根据官方文档,运行环境配置选项如下所示:

设定项:flowFile

  • 用途:用于保存Node-RED的flow的信息
  • 缺省值:缺省名称为flows_hostname名称.json

设定项:userDir

  • 用途:用于保存所有用户数据的目录,比如flow和所有的库数据等
  • 缺省值:$HOME/.node-red

设定项:nodesDir

  • 用途:Node-RED会在usrDir目录下进行nodes目录的搜索,nodesDir提供了一个附加的搜索目录,这样Node-RED的node可以被安装在Node-RED的安装结构之外。
  • 缺省值:$HOME/.node-red/nodes

设定项:uiHost

  • 用途:仅用与Standalone方式的Node-RED服务,设定可用于监听的服务端地址。
  • 缺省值:0.0.0.0,表明所有的地址均可

设定项:uiPort

  • 用途:提供UI编辑器页面的端口号
  • 缺省值:1880

设定项:httpAdminRoot

  • 用途:UI编辑器页面的根目录,如果设定为false,所有管理相关的访问都失效,包括API和编辑器UI。
  • 缺省值:/

设定项:httpAdminAuth

  • 用途:启动HTTP认证方式,这样在访问UI编辑器页面之前会有个登录页面。
  • 设定示例:{user:“nol”, pass:“5f4dcc3b5aa765d61d8327deb882cf99”}
  • 注意事项:已过时的设定项,可使用adminAuth替代。

pass的内容是对于实际密码的的md5的哈希取值,可使用如下命令获取:

node -e “console.log(require(‘crypto’).createHash(‘md5’).update(‘登录的密密码字符串’,‘utf8’).digest(‘hex’))”

设定项:httpNodeRoot

  • 用途:指定缺省的HTTP访问的根URL,设定为false时,所有基于node的HTTP访问都会失效
  • 缺省值:/

设定项:

  • 用途:httpNodeAuth
  • 缺省值:启用HTTP认证,可参照httpAdminAuth的格式

设定项:

  • 用途:httpRoot
  • 缺省值:设定admin和node访问的根URL,相当于同时设定httpAdminRoot和httpNodeRoot

设定项:https

  • 用途:相关内容可参看:详细内容
  • 缺省值:被注释

具体设定可使用如下格式设定密钥和证书

    https: {
        key: fs.readFileSync('privatekey.pem'),
        cert: fs.readFileSync('certificate.pem')
    },

设定项:disableEditor

  • 用途:仅禁用UI编辑器,管理访问仍然可用。
  • 缺省值:false

设定项:httpStatic

  • 用途:静态web内容所使用的本地目录,注意此项的设定需要结合httpAdminRoot的设定。
  • 缺省值:被注释
  • 使用示例:/home/nol/node-red-static/

设定项:

  • 用途:httpStaticAuth
  • 缺省值:对于静态内容启动HTTP认证

设定项:httpNodeCors

  • 用途:启用跨域资源共享,详细可参看:CORS设定
  • 缺省值:被注释
  • 使用示例:
    httpNodeCors: {
        origin: "*",
        methods: "GET,PUT,POST,DELETE"
    },

设定项:httpNodeMiddleware

  • 用途:可以根据node的需要添加自定义的功能,详细的格式可参看:使用方式
  • 缺省值:被注释
  • 使用示例
httpNodeMiddleware: function(req,res,next) {
    // Perform any processing on the request.
    // Be sure to call next() if the request should be passed
    // to the relevant HTTP In node.
}

设定项:logging

  • 用途:日志,但是需要注意的是当前只支持控制台日志输出
  • 缺省值:日志级别的确认level是info
  • 日志级别:主要如下所示
    fatal - 仅记录应用不可用相关的错误
    error - 记录fatal信息和错误信息
    warn - 记录警告信息、错误信息和fatal信息
    info - 记录普通信息以及警告信息、错误信息以及fatal信息
    debug - 记录调试信息、普通信息以及警告信息、错误信息以及fatal信息
发布了1115 篇原创文章 · 获赞 1314 · 访问量 407万+

猜你喜欢

转载自blog.csdn.net/liumiaocn/article/details/104670576