blog.鶯梭庵

二〇一五年 長月 十二日 土曜日

Node.js + Express.js 覚書その3・サブドメイン [/links]

この記事は書かれてから1年以上経過しています。内容が古くなっている可能性があります。コメントの受付は終了しました。

私のウェブサイトは現在3つのサブドメインに分かれている(折り紙とブログとその他)。それを Node.js で実現するにはどうするか。

いくつか方法があるようだが、すでに Apache でサブドメインを設定している場合、Apache のリバースプロキシを使うと簡単だ。

Apache でサブドメインを設定するには、バーチャルドメインを使用する。普通は VirtualHost の中に ServerNameDocumentRoot を指定するが、DocumentRoot の代わりに ProxyPassProxyPassReverse を指定して、転送先をポート番号で分ける。例えば以下。


<VirtualHost *:80>

ServerName ousaan.com

ServerAlias www.ousaan.com

ProxyPass / http://localhost:3000/

ProxyPassReverse / http://localhost:3000/

</VirtualHost>


<VirtualHost *:80>

ServerName blog.ousaan.com

ProxyPass / http://localhost:3001/

ProxyPassReverse / http://localhost:3001/

</VirtualHost>


<VirtualHost *:80>

ServerName origami.ousaan.com

ProxyPass / http://localhost:3002/

ProxyPassReverse / http://localhost:3002/

</VirtualHost>


そのうえで、Node.js 側でサーバーを3つ作って、それぞれが対応するポートをリスンすればよい。例えば以下。


express = require 'express'

servers =

www: express()

blog: express()

origami: express()


servers.www

...

.listen 3000, 'localhost'


servers.blog

...

.listen 3001, 'localhost'


servers.origami

...

.listen 3002, 'localhost'

[このカテゴリをまとめて読む。] [最新の記事を読む。]

RSS feed

カテゴリ

[/language] (98)
[/links] (254)
[/mac] (114)
[/music] (36)
[/origami] (406)
[/this_blog/ajax] (7)
[/this_blog/blosxom] (4)
[/this_blog/history] (12)
[/this_blog/perl] (9)

最新記事

パスワードについてのあなたの常識はもはや非常識かもしれない・その1 [/links]
ニューラルネットワークとディープラーニングで翻訳はどうなる・その5 [/language]
ニューラルネットワークとディープラーニングで翻訳はどうなる・その4 [/language]
HTTPS 対応 [/links]
ひらがな・カタカナ学習ウェブアプリ [/links]
日本語の「た」と英語の過去形 [/language]
ORI-REVO で回転楕円体を折る・その2 [/origami]
ORI-REVO で回転楕円体を折る・その1 [/origami]
折り紙建築 [/origami]
折鶴に松図小柄 [/origami]
改訂版・たぶん、ほとんどの人は viewport meta タグの指定をまちがえてる・その6 [/links]
改訂版・たぶん、ほとんどの人は viewport meta タグの指定をまちがえてる・その5 [/links]
改訂版・たぶん、ほとんどの人は viewport meta タグの指定をまちがえてる・その4 [/links]
改訂版・たぶん、ほとんどの人は viewport meta タグの指定をまちがえてる・その3 [/links]
改訂版・たぶん、ほとんどの人は viewport meta タグの指定をまちがえてる・その2 [/links]

羽鳥 公士郎