NodeRed安裝與反向代理配置

轉載請註明出處:https://leytton.blog.csdn.net/article/details/102422601
如果本文對您有所幫助,請點個贊讓我知道哦 😃

Node-RED是一個基於瀏覽器的可視化編程工具,通過簡單的托拉拽,就能夠簡單快速地將硬件設備、API和在線服務通過MQTT、TCP、Websocket、HTTP等組件連接在一起。

一覽爲快:
在這裏插入圖片描述

1、安裝

項目地址:
https://github.com/node-red/node-red

安裝:sudo npm install -g --unsafe-perm node-red
啓動:node-red
打開瀏覽器:http://localhost:1880

啓動後默認端口是1880,如果我們想使用純域名(不帶端口號)訪問,那麼需要怎麼做呢?

3、添加模塊

除了面板裏顯示的模塊,還可以自行添加模塊。點擊右上角>設置>Palette>搜索模塊,查找自己喜歡的模塊安裝即可。可以在這裏添加mqtt(服務器)、redismysql等模塊。
在這裏插入圖片描述

2、HTTP反向代理

添加一個網站,例如域名爲xxx.llqqww.com,配置網站,開啓反向代理:
在這裏插入圖片描述

3、Websocket反向代理

發現NodeRed還有Websocket服務,僅僅配置HTTP反向代理是不夠的,還需要配置Websocket反向代理。
總的配置如下,關鍵是添加了proxy_set_headerproxy_set_header

map $http_upgrade $connection_upgrade {
    default upgrade;
    '' close;
}

server
{
    listen 80;
    server_name node.llqqww.com;
    index index.php index.html index.htm default.php default.htm default.html;
    root /www/wwwroot/node.llqqww.com;
    
    #SSL-START SSL相關配置,請勿刪除或修改下一行帶註釋的404規則
    #error_page 404/404.html;
    #SSL-END
    
    #ERROR-PAGE-START  錯誤頁配置,可以註釋、刪除或修改
    error_page 404 /404.html;
    error_page 502 /502.html;
    #ERROR-PAGE-END
    
    #PHP-INFO-START  PHP引用配置,可以註釋或修改

	#PROXY-START
    location / 
    {
        proxy_pass http://127.0.0.1:1880;
        proxy_set_header Host $host;
        proxy_set_header X-Forwarded-For $remote_addr;
        add_header X-Cache $upstream_cache_status;
        expires 12h;
        
        proxy_set_header Upgrade $http_upgrade;
        proxy_set_header Connection $connection_upgrade;
    }
    
    location ~ .*\.(php|jsp|cgi|asp|aspx|flv|swf|xml)?$
    { 
        proxy_set_header Host $host;
        proxy_set_header X-Forwarded-For $remote_addr;
        proxy_pass http://127.0.0.1:1880;
        
    }
    #PROXY-END
    
}

4、面板密碼設置

NodeRed默認不需要賬號密碼就可以使用,我們可以對其配置成登錄認證使用。
切換到NodeRed的node_modules依賴庫目錄下,執行生成密碼的語句:

[root@aliyun node_modules]# pwd
/www/server/nvm/versions/node/v10.16.3/lib/node_modules/node-red/node_modules
[root@aliyun node_modules]# node -e "console.log(require('bcryptjs').hashSync(process.argv[1], 8));" password

產生密碼:

$2b$18$C2*********CDNrqT51Dqfz/0.

修改配置文件

[root@aliyun node_modules]# vim /root/.node-red/settings.js

設置賬號密碼登錄並更改密碼:

adminAuth: {
        type: "credentials",
        users: [{
            username: "admin",
            password: "$2b$18$C2*********CDNrqT51Dqfz/0.",
            permissions: "*"
        }]
    },

5、後臺運行

直接運行命令爲:node-red
後臺運行命令爲:

nohup node-red >/dev/null 2>&1 &
exit

注意在putty中要用exit退出,不然nohup會失效。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章