web-dev-qa-db-ja.com

EC2でのnodejsアプリケーションのホスト

私はnodejsアプリケーションをクラウドでホストすることに興味があり、私の目的のために無料のクラウドホスティングを探しています。 Amazonには1つあることがわかりましたが、次の質問があります:Amazon EC2でnodejsアプリケーションを設定して実行する方法についてのチュートリアルはありますか?

[〜#〜] edit [〜#〜]:nodejs(herokuを除く)に適切なホスティングを提供できますか?

28
Erik

私はしばらくの間、Amazon EC2でNode.jsを使用してきましたが、どちらにも非常に満足しています。現時点では、AWSは最も安価で堅牢なクラウドプロバイダーであるように思われるため、Amazonを選択するのは間違いではありません。 Node.jsをクラウドで実行することについて特別なことはありません。自分のPCであるかのように作業します。以下は、EC2 Ubuntuサーバーで実行されている最も単純なNode.jsアプリケーションの一般的な手順です。

  1. 作成 Amazon EC2アカウント

  2. AWSコンソールからt1.micro任意のUbuntu AMIのインスタンス( )。

  3. インスタンスにSSH経由でログインします。

  4. Node.jsをインストールします:Sudo apt-get install nodejs

  5. 新しいファイルを作成test_server.js次のコンテンツ:

    require("http").createServer(function(request, response){
      response.writeHeader(200, {"Content-Type": "text/plain"});  
      response.write("Hello World!");  
      response.end();
    }).listen(8080);
    
  6. サーバーを起動します:node test_server.js

  7. 別のコンソールから機能していることを確認します:curl http://localhost:8080

41
nab
10
almypal

これに基づいて チュートリアル 、更新されたステップバイステップです:

1) Amazon Web Services でアカウントを作成します。

2)EC2インスタンスを作成します。 Ubuntu microを選択しました。

3)セキュリティグループを構成し(「Node」という名前を付け)、ポートを追加します。

HTTP(80)、HTTPS(443)、カスタムTCPアプリのポートNodeアプリ(例:3000)

4)インスタンスを起動し、pemファイル(秘密鍵)を保存します。 「node.pem」。

5)Windowsの場合- Cygwin + OpenSSHパッケージをインストールします。また、Linuxへの「エクスプローラーのような」アクセス権を得るために WinScp をインストールすることをお勧めします。

6)管理者としてCygwinターミナルを開き、「node.pem」ファイルに適切な権限を設定します。

chown :Users node.pem
chmod 400 node.pem

7)EC2インスタンスのパブリックDNS名をEC2 dasboardで見つけ、 SSHで接続

ssh -i node.pem ubuntu@{your EC2 public DNS name}

8)Ubuntuと NodeJSのインストール を更新します:

Sudo apt-get update
curl -sL https://deb.nodesource.com/setup_7.x | Sudo -E bash -
Sudo apt-get install -y nodejs
Sudo apt-get install -y build-essential

9)NodeJSアプリケーションをEC2インスタンスにコピーします(CygwinまたはWinscpを使用)。

10)Node app required modules:

cd /home/ubuntu/My_Node_App
npm install --save

11)IPtablesでポートを再ルーティングして、デフォルトのhttpポート80でアプリにアクセスできるようにします。

Sudo iptables -t nat -A PREROUTING -p tcp --dport 80 -j REDIRECT --to-ports 3000

Iptablesルーティングエントリを表示するには、次を実行します。

Sudo iptables -t nat -L

ルーティングエントリ(最初の行)を削除する必要がある場合は、次を実行します。

Sudo iptables -t nat -D PREROUTING 1

12)バックグラウンドプロセスとしてアプリを実行します。

Sudo Nohup node app.js &

アプリプロセスを強制終了するには:

ps -ef | grep app.js
Sudo kill {proccess id number}
6
Noam Manos

ノードベースのアプリをEC2にデプロイする方法に関する私のブログ投稿: http://devblog.daniel.gs/2014/01/deploying-node-apps-on-aws-ec2-with.html

説明:

  • Node githubリポジトリ(private + public)からアプリをデプロイする
  • スクリプトを使用した展開プロセスの自動化
  • Nginxを使用したリバースプロキシ
  • foreverユーティリティを使用します。

お役に立てれば。

5
Daniel K.

Node.js のホスティングソリューションはかなりありますが、以下にそのいくつかを示します。

ジョイエント

Joyent は、Node.jsの企業スポンサーおよび商標権所有者であり、 Amazon EC2 の魅力的な代替手段を提供します。 JoyentのNode.js開発環境Node.js™開発SmartMachine利用規約 を確認してください)。

どうやら彼らはこの開発製品を再編成しているだけです:

過去1年間、Joyent CloudはNode.jsのユーザー向けに無料の開発サンドボックスを提供してきました。時間の経過とともに、コミュニティはより多くのツールと容量を必要としていることを明確にしました。このため、 Nodejits とのパートナーシップを発表し、Joyent CloudのInfrastructure-as-aで実行されるNodejitsuの開発および管理ツールを備えた世界クラスのNode.js開発環境でこれらの両方を提供します。 -サービスプラットフォーム。新しいサービスはまもなく開始されます。

したがって、Node.jsソリューションのプロダクションホスティングの価格設定オプションが最終的にどのようになるかはまだ完全には明らかではありませんが、Joyentの 競争価格設定 を考えると、少なくとも同様のオプションが期待されます。

Cloud Foundry

Cloud FoundryOpen Platform as a Service Projectは、他の多くのフレームワークの中でNode.jsもサポートしています(プラットフォームを作成します)非常にエキサイティングです)、プラットフォームは最近かなり牽引されており、一方でいくつかのソリューションで使用されています Platform as a Service(PaaS) プロバイダーはそれに応じてバックエンドとして-これらの中には(特定の順序ではなく、必ずしもコンプリート):

  • AppFog -Java、Node、.Net、Ruby、PHP、MySQL、Mongo、PostgreSQLなどのシンプルなPaaS ... IaaS間の自由な移動クラウドで最も簡単な価格設定で。
  • Cloud Foundry(VMware) (Cloud Foundryの企業スポンサー)-単一のクラウドにロックすることなく、数秒でアプリケーションをデプロイおよびスケーリングします。
  • Iron Foundry -Iron Foundryは、サービス、インストーラー、開発者ツールを提供することにより、Cloud Foundry™を.NETエコシステムに拡張するオープンソースプロジェクトです。

これらのほとんどはまだベータ版であり、価格はまだ決まっていませんが、競争を考えると、ここでかなり興味深いオプションが期待できます。

1
Steffen Opel

EC2でnode.jsを無料で実行する最も簡単な方法は、HerokuのIMHOです。

0
Yusuf X

この完全なチュートリアルをご覧ください こちら 。このチュートリアルでは、EC2にNode.jsをインストールし、ポート転送用にHTTPポートとnginxを設定する方法と、スーパーバイザーを使用してNode.jsを永久に実行する方法を示します。

0
techprd.com

Herokuのサインアップとアプリケーションのチュートリアルを行ったところです。簡単ではなかったでしょう。なんて楽しい経験...

... MongoDBインスタンスを無料のギアとして使用できないところまで。最小コスト(無料試用月を除く)は、ストレージ1 GBあたり月額18ドルです。

正直なところ、より良い選択はOpenshiftです。私がやっていることのような多くの初心者のために十分な3つの無料ギアを持っています。 HerokuとOpenshiftはどちらもAmazonのスペース内にありますが、顧客インターフェースは異なります。 Herokuの方が初心者には使いやすいと思っていましたが、先ほど述べたように、データベース側に無料のランチはありません。

0