5

私はいくつかのノード チュートリアルを読んでいますが、以前に実際のノード アプリを構築したことがある人に聞きたいベスト/一般的なプラクティスがいくつかあります。

  1. Linux ボックスでノード アプリケーションを実行するのは誰ですか? 私が読んだチュートリアルのどれも、ノード ユーザーとグループの追加について何も言及していないので、言及を怠っただけなのか、それとも他のことをしたのか、興味があります。
  2. プロジェクトはどこに保管していますか? '/家/'?'/var/'?
  3. 通常、node アプリの前に何かを置きますか? nginxやhaproxyなど?
  4. 同じマシンまたは別のマシンで、ストレージ (redis、mongo、mysql など)、mq などの他のリソースを実行していますか?
4

4 に答える 4

2

これが私が思うことです:

  1. アプリごとに個別のユーザーを使用すること、私がこれを行っている方法です。

  2. 私はそれを保持して、(そしてもちろんルート)/home/user/だけがアプリにアクセスできるようにします.user

  3. 少し前に、 node-http-proxy module に基づいて Node JS で独自のリバース プロキシを作成しました。リバース プロキシを使用したくない場合は、Node.js の前に何かを配置しても意味がありません。さらに: nginx は (少なくとも現時点では) HTTP/1.1 を使用できないため、アプリに害を及ぼす可能性があります。

  4. 同じマシンで実行するすべてのリソース。アプリを別々のマシンに実際に配布する必要がある場合にのみ、別々のマシンについて考え始めます。事前に最適化する必要はありません。ただし、アプリのコードは別のものです。

于 2012-05-18T11:21:03.623 に答える
2

この質問は、主にオンライン サーバーのセットアップに関するものであり、ローカルの開発マシンに関するものではないと思います。

  1. irc チャンネルで、誰かが同じ質問に答え、アプリケーションごとに別のユーザーを使用していると述べました。したがって、これは一般的な慣行であると推測しています。

  2. 私は主に /home/user/apps を行います

  3. 多くのnginxの例を見ているので、ほとんどの人がそれを使用していると推測しています. node.js アプリケーションの前にワニスを使用したサーバーがあり、うまく機能し、セットアップも簡単でした。いくつかの純粋な node.js ソリューションがありますが、リバース プロキシと同じくらい重要なものについては、もう少し実戦でテスト済みのものを選びます。

  4. これに正しく答えるには、おそらく自分自身に尋ねる必要があります。私のリソースは何ですか?小規模サーバーをいくつも用意できますか? あなたのアプリケーションはどのくらい重要ですか?アプリがダウンした場合、お金を失うことはありますか?

    たとえば 1 つの VPS でフル スタックを実行すると、その VPS に問題がある場合、影響を受けるアプリは 1 つだけになります。

    たとえば、複数のアプリに対して 1 つのデータベース サーバーを使用することは、メンテナンスの点で魅力的に思えるかもしれません。セキュリティ ホールにパッチを当てるためにデータベースを更新する必要がある場合、それを 1 か所で行うだけでよいと考えることができます。一方で、そのデータベース サーバーに依存するすべてのアプリに単一障害点が発生します。

    私は個人的に多くのフル スタック サーバーを使用しており、展開とメンテナンスを自動化する方法を学んでいます。Puppet や Chef などのツールは、これに非常に役立つようです。

私は過去 3 か月間、自分の Linux サーバーしか所有しておらず、1.5 年間 Linux ユーザーでした。したがって、これらの回答に基づいてサーバー パークを設定する前に、追加の調査を行ってください。

于 2012-05-17T11:08:43.613 に答える
0

次のリンクにアクセスしてください::

ネッツ

ノデッツ

リンダ nodejs チュートリアル

于 2013-09-13T13:34:55.777 に答える
-2
  1. ベスト プラクティスは、Apache または同様の Web サーバーの場合と同じユーザー/グループを使用することです。

    Debian では、www-data:www-data です。

    ただし、より高い権限が必要な一部のアプリケーションでは、これが問題になる可能性があります。たとえば、私は Node を使用して Webmin に似たものを作成しようとしましたが、これには多くのタスクに対して root 権限 (または少なくとも adm グループ) が必要です。

  2. Debian では、/var/nodejs を使用します (PHP などの「通常の」Web アプリケーションには /var/www を使用します)。

  3. Node を使用することにまだ消極的である理由の 1 つは (質の高いドキュメントが驚くほど不足していることは別として)、複数のアプリケーションを実行するときに複数の IP ポートを割り当てる必要があることです。妥当な規模の本番環境では、仮想サーバーを使用してノード サーバー プロセスを分割すると思います。

    Node 開発者が忘れがちなことの 1 つは、多くのエンタープライズ環境では、IP ポートが非常に厳密に制御されていることです。ファイアウォールを介して新しいポートを開くことは、非常に苦痛で時間のかかる作業です。

    リバース プロキシを使用している場合に覚えておくべきもう 1 つのことは、Web アプリはプロキシの背後から実行すると失敗することが多いということです。特に、仮想フォルダー (例: https://extdomain/folder-> http://localhost:1234) をマッピングする場合は、テストを続ける必要があります。

  4. 自分のシステム用に単一の VPS を実行しているだけです。ただし、運用アプリの場合は、要件を理解する必要があります。復元力とスケーラビリティのみを目的としている場合、運用アプリには複数のサーバーが必要になる可能性が非常に高くなります。

于 2012-05-18T11:02:22.143 に答える