7

私は Clojure/ClojureScript で遊んでいて、Web アプリケーションを書いています。リングを開発サーバーとして使用している間は、すべて問題ありません。

問題は、生産にどのコンテナーを使用する必要があるかです。生産にもリングを使用する必要がありますか? Tomcat を使用する必要がありますか? Clojure アプリケーションをデプロイするための推奨される方法はありますか? この側面に関するドキュメントをいくつか教えてもらえますか?

ありがとう!

4

3 に答える 3

10

Java と Clojure で記述された Java サーブレットのデプロイに本質的な違いはなく、Clojure のすべての Web ライブラリとフレームワークは互換性のあるサーブレットを生成するため、多くのデプロイ オプションがあります。

システムサービスから「lein run」を実行するだけで、nettyを使用してリングベースの Web アプリケーションを実行し、実稼働環境で大きな効果を発揮します。他の多くの人は、lein uberwar を使用して war ファイルを生成し、それを tomcat でホストすることを選択しています。特定のホスティング メカニズムは、展開プロセスほど重要ではないようです。すべての JavaScript ファイルは CDN から提供されます。Immutantはまた、楽しく、非常に Clojure 指向の選択肢であり、強い「エンタープライズ」な雰囲気があります。

私が最も重要だと思うのは、展開を含め、繰り返し可能なビルドを構築することです。パレットは、学習曲線が少しありますが、行くのに最適な方法です。

于 2013-10-08T02:14:11.993 に答える
7

いくつかのオプションがあります。

1 つ目は簡単です。Heroku です。デプロイとテストに十分な無料利用枠があります。これについてはこれ以上詳しく説明しませんが、Heroku はもう使用しないことにしました。

もう 1 つの一般的なオプションは、Amazon AWS です。AWS のほとんどのアプリはlein-beanstalk を使用しています[申し訳ありませんが、ここでは引用しません]。Lein-beanstalk はかなり長い間使用されておらず、手入れが行き届いているようです。また、Compojure を維持しているのと同じ人によって維持されています。

VPSを利用しています。Nginx で Linux ビルドをセットアップし、git でデプロイします。というわけで、基本的にはサイトを作ってコンパイルして lein uberjar にしてからデプロイするという流れです。アプリで leiningen の "lien ring server" カンテーションを使用し、Maven、Tomcat、Vagrant を使用した展開など、他の多くの構成を使用できる人もいることを知っていますが、私は java -jar myApp-xxxxx をサーバーであり、うまく機能します。

ドキュメントに関する限り、具体的に Clojure の展開に関するドキュメントが不足しているようです。頭を壁にぶつけて、初めてVPSルートに行きたいかどうかを理解する必要があります. 特に Clojure に関連する問題はほとんどないことがわかりました。

于 2013-10-08T04:55:51.570 に答える
4

開発では、次を使用します。

lein ring server 

: 次に、使用する war ファイルにコンパイルします。

lein ring uberwar

: 結果の jar ファイルを Webapps ディレクトリにドロップするだけで、正常に動作します。ちなみに私はJettyを使っています

于 2013-10-11T14:07:42.620 に答える