date. 2013/5/23

category. Server

現在稼働中(Apache)のさくらVPSにnode.jsをインストールしたので、その方法を。

今回は前回ご紹介したこちらの、2回目をご紹介させて頂きます。

  1. node.jsのインストール
  2. 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を触っていきたいです。

参考サイト

関連記事