2016.8.20
Node.jsで作る自作チャット#2【Node.jsを入れてみよう】
さて、チャットしたい欲に駆られてきましたので、そろそろ開発を始めたいと思います。
前回に
Node.jsはサーバーサイドのjavascriptだと言いましたが、サーバーサイドである以上サーバーに何かしら仕込まなければいけません。javascriptはブラウザ側での実装なので何も準備が要らなかったのですが、サーバーの場合は話が別で、サーバーを対応させないと新しい言語ってのは使えないものです。
僕が今使ってるXSERVERでNode.jsが使えるのかどうかは全く分かりませんが、具体的な導入方法が分かんないとそもそもどうしようもないのでとりあえず調べるだけ調べてみることにします。
もし無理そうだったら、Rubyで代替すればいいかなって感じですね。別にチャットの要件としては、ブラウザがjavascriptでの実装であればいいだけなので、後はAnonymousで使ったAjaxでリアルタイム更新させればいいだけです。
Node.jsの利用の仕方は簡単で
コードを書いてコマンドで実行するってだけです。で、このコマンドを実行するためにはもちろんそれ専用のごにょごにょが必要になるんですが、それが
こちらです。アーリーアダプターになりたい人は
公式版があるのでそちらを。まぁどっちも公式なんですけど・・・・・・。
ってか、バージョン番号にだいぶ違いがあるんですけど大丈夫なんですかね。まぁ問題あったら英語の方落とします。
こいつをインストールしてコードを走らせればいいんですね。やり方やサンプルコードは
こちらに書いてあります。
コマンドを実行してから
1234番ポートでアクセスするとハローワールドが表示されるみたいです。
さて、1234番ポートとか指定するのウザいんで80番ポートに変えましょうか。
80番ポートは既にApacheが使ってるので使えないのですが、全く別のポート、例えば8080番ポートなんかを使って
リバースプロキシさせるという手法を使うそうです。
なぜこんなことをしなくてはいけないのかっていうと
Node.jsはつまるところサーバーらしく。いや、厳密には違うとは思う気がするんですけど、重要なのが
デフォルトではApacheと共存できないというのが大事です。
そこでどうするかですね。エックスサーバーの仕様がよくわからないんですが、nginxだったら割と簡単に設定できるそうです。が、乗り換えがめんどくさいのでApacheであるという前提で進むことにします。
まず
node-http-proxyをテキトーな場所にインストールします。
$ chcp 850
$ npm install http-proxy
|
一行目は文字コードを変えてるんだと思います。これがなくてハマったんですが
ググったら解決策が書いてあったので試してみたら上手く動いたので、たぶんこれが原因なのでしょう。
で、これを入れて何がしたいのかということですが
node-http-proxyを80番ポートに設定し、ApacheかNode.jsかで接続ポート番号を振り分けさせるということをします。
つまり、Apacheのポート番号を80以外に設定することになるわけですね。エックスサーバーはシェルログイン機能があるのでNode.jsを入れられるんですけど、ポート番号を変えたりってできるんですかね・・・・・・?????まぁ、Node.jsがダメならRubyにシフトすればいいんですけど、せっかく面白そうなシステムがあるのでしたら勉強してみたいところですしね。javascriptにも強くなりたいですし正直。
ここまで書いて疲れたので、続きは次回・・・・・・(笑)
遅延があるとどーしても会話のリズム狂っちゃってやりづらいですよねー(・∀・)笑
同じスタジオ内でラジオできたら集客ももしかしたら伸びるかもしれませんね!!!ぜひいつかやってみましょ(笑)(笑)こちらこそありがとうございました\(^o^)/