質問

Compojure/Sinatra アプリケーションをデプロイするための推奨される方法は何ですか?ホスト上で複数のサイトを実行しているため、ポート 80 で Jetty/mongrel を実行できません。同じホストで実行されている複数のサイト/アプリケーションをどのように処理すればよいですか?

役に立ちましたか?

解決

などアパッチの使用ポート80上で動作し、その<のhref = "HTTPなどのWebサーバーを使用します://httpd.apache.org/docs/2.2/vhosts/name-based.html」のrel = 『nofollowをnoreferrer』>バーチャルホストは、右のアプリサーバへのトラフィックを指示するを。だから、基本的にあなたが別のポートで各アプリケーションサーバ(桟橋/雑種など)を実行しますし、各仮想ホストに<のhref = "http://httpd.apache.org/のようなものを使用し、異なる構成を持っているでしょうドキュメント/ 2.0 / MOD / mod_proxy.html」のrel = "nofollowをnoreferrer">アプリケーションサーバーへのトラフィックを転送するMODプロキシに。あなたは、このような lighttpdののか<のhref = "http://nginx.netとして別のWebサーバーを使用することができます"relが=" nofollowをnoreferrer "> nginxのを。シナトラアプリのために、あなたはまた、別名、のPhusion旅客でMODレール、理論的に働く通称モッズラックを、見ることができます任意のラックアプリで、けれども私はRailsのとそれを使用しました。

あなたはそれに見ると、

いくつかのより多くのあなたは、Webサーバからアプリケーションサーバへのトラフィックを転送するための様々な方式があることがわかりますが、この種のものを行うための基本的なメカニズムは、常にそのWebサーバを持つことに帰着しますその後、適切なアプリにトラフィックを転送するために名前ベースのバーチャルホストを使用して、ポート80でリッスンします。

他のヒント

私は何年もの間、さまざまなスタンドアロン サーバー (AllegroServe など) を使用してこの種のことを行ってきました。私は次のような最良のアプローチを見つけました。

  • 各サーバーを異なる非特権ポート (8080 など) で実行します。
  • 走る pound (または Nginx など) 80 上で、リクエストを各アプリケーションにマッピングするように構成されています。

Pound は優れており、構成は (Nginx とは異なり) 非常にシンプルになります。また、SSL フロント処理と HTTP サニタイズも実行して、アプリケーションの負担を軽減します。

乗客を使用してください! http://modrails.com に - それはあなたが(非常に)簡単にルビーを実行することができますApacheとnginxのためのプラグインです仮想ホストとしてアプリ

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top