Node-RED 配置文件之 adminAuth

Node-RED 配置文件之 adminAuth

一、什么是 adminAuth

  1. adminAuth 是 Node-RED 配置文件 setting.js 中的一个选项,用于启动用户身份验证和权限管理。
  2. 通过配置 adminAuth,可以实现以下功能:
    • 要求用户登录后才能访问 Node-RED 编辑器。
    • 支持多用户,可以为多用户分配不同权限。
    • 集成外部身份验证服务。(暂不学习)
  3. 官方文档,https://nodered.org/docs/user-guide/runtime/securing-node-red#editor–admin-api-security

二、如何配置 adminAuth

1、找到 setting.js 文件

以我现在使用的腾讯云服务器为例,Ubuntu 系统,按照之前的我写的博客,setting.js 在服务器的数据卷中。

sudo -i
docker volume ls
DRIVER    VOLUME NAME
local     node_red_data
local     portainer_data
docker volume inspect node_red_data
[
    {
        "CreatedAt": "2025-02-06T13:55:02+08:00",
        "Driver": "local",
        "Labels": null,
        "Mountpoint": "/var/lib/docker/volumes/node_red_data/_data",
        "Name": "node_red_dat
<think>好的,我现在需要帮助用户了解如何配置Node-RED的开机自启动。首先,我得回忆一下用户提供的引用内容,里面有关于使用systemctl、pm2以及任务计划程序的方法。用户可能使用的是Linux系统,比如CentOS,或者是Windows,所以得涵盖不同系统的方法。 首先,用户的问题集中在开机自启动,所以我要分步骤说明不同的方法。根据引用内容,Linux下主要有两种方式:systemctl服务和pm2管理。而Windows则可以用任务计划程序或者pm2的Windows版本。 需要先整理Linux下的systemctl方法。根据引用[1],用户需要创建服务文件,然后启用和启动服务。步骤应该是创建node-red.service文件,放在正确的位置,然后使用systemctl命令启用和启动。这里需要注意路径是否正确,以及用户权限的问题,比如User字段的设置是否正确。 然后是pm2的方法,引用[2][5]提到在CentOS中使用pm2来设置开机自启动。这里步骤应该是先安装pm2,然后用pm2启动node-red,保存pm2的状态,最后生成启动脚本。需要确保pm2的启动脚本正确安装,并且node-red的启动命令正确无误。这里可能还需要处理全局路径的问题,比如pm2是否在系统路径中。 对于Windows用户,引用[4]提到了两种方法:pm2-windows-startup和任务计划程序。pm2的方法需要安装特定包,然后设置保存,而任务计划程序则需要手动创建任务。这部分需要详细说明步骤,特别是路径的查找,比如node-red.cmd的位置。 另外,用户可能还需要启用登录功能,如引用[3]提到的修改settings.js文件中的adminAuth部分。这虽然不是直接的开机启动步骤,但可能是配置的一部分,需要提及。 需要注意每个步骤的注意事项,比如权限问题,路径是否正确,是否需要sudo,以及如何验证服务是否成功。例如,在Linux中使用systemctl status命令检查服务状态,或者用pm2 list查看进程是否运行。 还要考虑不同系统版本可能带来的差异,比如CentOS7和其他Linux发行版的区别,确保命令的兼容性。同时,用户可能对命令行操作不熟悉,所以步骤要尽量详细,避免遗漏关键命令。 最后,生成相关问题,帮助用户进一步了解优化或故障排除,比如如何检查服务状态,如何取消自启动等。需要确保问题相关且有用,覆盖用户可能遇到的后续疑问。</think>### Node-RED开机自启动配置方法 #### 方法一:Linux系统(CentOS/Ubuntu等)使用systemctl服务 1. **创建服务文件** 新建文件`/etc/systemd/system/node-red.service`,内容如下: ```bash [Unit] Description=Node-RED After=syslog.target network.target [Service] ExecStart=/usr/bin/node-red-pi --max-old-space-size=128 Restart=on-failure User=your_username # 替换为实际用户名 Group=your_groupname [Install] WantedBy=multi-user.target ``` 2. **启用并启动服务** ```bash sudo systemctl enable node-red.service # 设置开机自启[^1] sudo systemctl start node-red.service # 立即启动服务 ``` #### 方法二:使用PM2进程管理(跨平台) 1. **安装PM2** ```bash npm install -g pm2 ``` 2. **通过PM2启动Node-RED** ```bash pm2 start `which node-red` --name "node-red" # 启动服务[^5] pm2 save # 保存当前进程状态 ``` 3. **设置PM2开机自启** ```bash pm2 startup # 生成自启动脚本[^2] # 根据提示执行生成的命令(如复制粘贴输出的脚本) ``` #### 方法三:Windows系统 1. **通过PM2实现** ```cmd npm install -g pm2-windows-startup pm2-startup install pm2 start "%APPDATA%\npm\node-red.cmd" --name "node-red" pm2 save ``` 2. **通过任务计划程序** - 创建新任务,触发器设置为“登录时” - 操作指向Node-RED启动文件(如`C:\Users\用户名\AppData\Roaming\npm\node-red.cmd`)[^4] #### 验证配置 - Linux系统:`systemctl status node-red.service` - PM2管理:`pm2 list` 查看进程状态 - 访问 `http://localhost:1880` 确认服务运行 #### 附加配置(可选) - **启用登录认证**:修改`~/.node-red/settings.js`中`adminAuth`字段[^3] - **自定义端口**:在启动命令中添加`-p 自定义端口号` ---
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值