2013-05-14 21 views
11

私は小規模な製作サイトをいくつか持ち、楽しい趣味/実験的アプリなどをたくさん持っています。私は1つのEC2インスタンスでそれらのすべてを実行したいと思います。EC2の1つのインスタンスで複数のアプリケーションを実行する方法

node.js、npm、express、couchdbを一度インストールして、別のポートで各アプリケーションを実行し、ドメインレジストリのdns設定を適切な場所を指すように調整できますか?

更新日:ありがとうマイク! EC2で複数のIPアドレスを探している他の人向け:http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/using-instance-addressing.html

+0

はい、DNSはポートを指していませんが、IPアドレスを指しています。 –

+0

ありがとう、マイク!うーん...それでは、どうすればいいのですか(EC2の1つのインスタンスで複数のアプリケーションをホストする)? – Costa

+1

複数のIPアドレス?ホストヘッダー? –

答えて

31

これについてはいくつかの方法があります。

異なるポート

あなたは別のポートで各Node.jsのプロセスを実行し、単に世界にポートを開くことができます。ただし、URLには、各プロジェクトのホスト名の最後にポートが必要です。 yoururl.com:8080/は技術的にはうまくいくが、探しているものではないかもしれない。

複数のIPアドレス

あなたは1つのEC2インスタンス上で複数のIPアドレスを使用することができますが、しかし、彼らはおよそ$ 3.65ヶ月毎の追加コストが付属しています。したがって、あなたが10の異なるドメインを持っている場合は、一度インスタンスをホストしたい場合は、ホスティング料金で月30ドル以上が必要です。

SSLを使用しているドメインでは、自分のIPアドレスが必要です。

また、インスタンスに割り当てることができるのはlimits to the number of IP addressesで、インスタンスが小さいほど、取得するIPアドレスは少なくなります。

割り当てることができるIPアドレスの数は、インスタンスの種類によって異なります。 Small Instanceは最大8つのIPアドレス(2つの弾性ネットワークインターフェイス間)を収容できますが、High-Memory Quadruple Extra LargeおよびCluster Computer Eight Extra Largeインスタンスには最大240のIPアドレス(8つの弾性ネットワークインターフェイス間)を割り当てることができます。 IPアドレスと弾性ネットワークインターフェイスの制限の詳細については、「Amazon EC2ユーザーガイド」の「インスタンスファミリとタイプ」を参照してください。

エクスプレスバーチャルホスト

Expressは、仮想ホスト機能が付属しています。 1つのNode.js/Expressサーバで複数のドメインを実行し、ドメイン名に基づいてルートを設定できます。 Expressの下でvhostがこれを有効にします。

リバースプロキシ

複数のアプリケーションサーバーの前でNginxをセットアップできます。これは最も柔軟性があります。ドメインごとに1つのNode.jsプロセスを使用して、一度に1つのドメインで更新と再起動を行うことができます。また、Apache/PHPなどのアプリケーションサーバーをNode.jsプロセスと同じEC2インスタンスでホストすることもできます。

リバースプロキシとして動作するNginxを使用すると、同じドメインの異なるアプリケーションサーバーをホストすることもできますが、異なるパスを提供することができます。

たとえば、Node.jsはドメインのメインルートパスを提供できますが、/blog/パスを同じEC2インスタンスのApache/PHP/Wordpress設定に移動するように設定できます。

+1

あなたは揺れます! Nginxは次に行く最高の場所のように聞こえる。私はそれについてほとんど知っていないので、私はGoogleの周りに行きます。別々のIPを使うのはどうですか? – Costa

+2

複数のIPに関する回答が更新されました。 – Daniel

+0

ダニエルありがとう!素晴らしいもの!私はSSLを使って何かのために新しいIPを必要とします、それは確かです。 아마Amazonはipv6を採用し、新しいIPのコストを引き下げるだろう。 – Costa

関連する問題