現在稼働中(Apache)のさくらVPSにnode.jsをインストールしたので、その方法を。
今回は前回ご紹介したこちらの、2回目をご紹介させて頂きます。
- node.jsのインストール
- node-http-proxyをインストールしてApacheと共存させる
今回node-http-proxyをインストールしてApacheと共存させる方法をご紹介させて頂きます。
node-http-proxy使用目的
今回node-http-proxyを使用する理由としては、
Node.jsのシステムを既に走っているApacheと共存して使用するには、
ポートを直打ちしなくてならず(例:http://example.com:8080)、これでは面倒なので、
node-http-proxyを使用し、受け取ったリクエストをドメイン毎に振り分けるようにしました。
node-http-proxyはGithubで公開しています。
node-http-proxy設置方法
node-http-proxyをさくらVPSのApache稼働中のサーバーへインストールしていきます。
node-http-proxyのインストール
node-http-proxyをインストールします。
npm install http-proxy npm link http-proxy
インストールは非常に簡単に出来ました。
proxy.jsの設置・制作
proxy.jsを制作・設置します。(名前はproxy.jsでなくてもなんでもいいです)
var httpProxy = require('http-proxy'); var options = { hostnameOnly: true, router: { // example1.com はポート8080(Apacheで処理) 'example1.com': '127.0.0.1:8080', // example2.com はポート3001(Node.jsで処理) 'example2.com':'127.0.0.1:3001' } }; var proxyServer = httpProxy.createServer(options); proxyServer.listen(80);
とし、振り分ける設定を記述した『proxy.js』をサーバーにアップします。
Apacheのポート番号の変更
このままでは、Apacheは80番で待ち構えたままなので、8080番に変更し処理できるようにします。
さくらVPSのサーバーではバーチャルホストを使用していたため、
『httpd.conf』『vhost.conf』を変更します。
/etc/httpd/conf/httpd.confの変更
httpd.confの待ち受けポート番号を変更します。
sudo vi /etc/httpd/conf/httpd.conf
とし、httpd.confを開き、
#Listen 80 Listen 8080
とし、8080番ポートに変更します。
/etc/httpd/conf.d/vhost.confの変更
vhost.confの待ち受けポート番号を変更します。
sudo vi /etc/httpd/conf.d/vhost.conf
とし、vhost.confを開き、
待ち受けポート番号が80番のところを8080番に変更します。
Apacheの再起動
最後にApacheを再起動し、設定を反映させます。
※再起動すると現在稼働してるサイトにproxy.jsの設定を反映するまでアクセス出来なくなります。
sudo service httpd restart
proxy.jsの稼働・確認
最後にproxy.jsを稼働させます。そのまえにsudo nodeが通るようこちらの設定をしておいて下さい。
sudo node proxy.js &
とし、proxy.jsを稼働させます。
sudoと付けないと、80番ポートのプログラムは起動しません。
また、最後に『&』を付けて画面が切り替わらないようにしています。
これで何とかNode.jsを使える環境に出来たので、Node.jsを触っていきたいです。