★【 My Biz Blog 】★

興味のあるビジネス情報を伝えていきます♪
(IoT,Azure,Windows 10, etc...)

AzureでNode-RED

2015-10-10 10:00:00 | Azure
前回の記事でAzure Web AppsへのNode-REDのデプロイ(展開)に失敗した話を書きましたが、
今回はAzure上のLinux仮想マシンにNode-REDを構築してみたので、その備忘録。


2015年6月の上表ですが、Azureで動作保証されているLinuxのディストリビューションは
以下のページに記載があります。
Azure での動作保証済み Linux ディストリビューション


今回はOpenLogicが提供しているCentOS 7.1で仮想マシンを作成。
仮想マシンのデプロイが完了したら、SSH経由でリモートログインします。

まずはNode.jsのインストールを実施。コマンドは以下のような感じ。

 sudo yum install epel-release
 sudo yum install nodejs npm --enablerepo=epel

途中確認メッセージが表示されるので、都度「y」を入力します。

続いてNode-REDのインストール。

 sudo npm install -g node-red


Node-REDはデフォルトでポート1880番を使用するので、
Azure 仮想マシンのネットワークセキュリティグループで
ポート1880番の通信を許可するようにしてください。

SSH経由で、コンソールに以下のコマンドを入力すれば、Node-REDが起動します。

 sudo Node-RED



ブラウザで、http://(仮想マシンのIPアドレス):1880と入力すると、
Node-REDにアクセスできます。


ただ、このままだと、ブラウザでアクセス時にエラーメッセージが表示されたり、
デバッグ出力がDebugタブに表示されない現象が発生しました。


Webなどで調べたところ、WebSocketの通信がうまくいっていない模様。
⇒結果、デバッグ出力の出力先タブとの通信もうまくいかない。

これは、setting.jsを編集して、httpsでの通信に切り替えると解決するらしい。


ということで(?)、最後に自己証明書を作成し、
それを使用する設定をsettings.jsに書き込んで、
Node-REDを再起動すると、エラーが出なくなり、ちゃんとデバッグ出力が表示されるようになります。