Nginx前書き関数型プログラミング、より具体的にはClojureのWeb向けプログラミングに関心が高まっています。基本的なアプリケーションの構築方法に関する多くのチュートリアルでは、多くの場合、展開の詳細を見落としています。Dropletにデプロイする方法を説明します。具体的には、サンプルのClojureアプリケーションを作成して本番用にパッケージ化し、Supervisorを使用してサーバー上でClojureアプリ環境をセットアップし、アプリを実行してリクエストを処理するNginxを設定します。前提条件このガイドを始める前に、次のものが必要です。+`を使用してサンプルのClojureプロジェクトを取得してデプロイすることです。+`をインストールします。git次に、サンプルプロジェクトリポジトリのクローンを作成します。Development]チュートリアルの最終結果です。必要に応じて、このリポジトリのクローンを作成する代わりに、そのチュートリアルを自分で実行できます。Clojureはhttps://en.wikipedia.org/wiki/Java_virtual_machine[JVM]を利用してコードを実行するため、プロジェクトをコンパイルして実行する必要があります。Clojureアプリの依存関係管理およびビルド自動化ツールであるLeiningenは、これを簡単にします。ライニンゲンをインストールしましょう。leiningenJavaにはいくつかの特別なファイルシステムマウントポイントが必要であると宣言する出力がいくつかあります。次のステップでこれを処理します。+`でサーバー上で実行できます。uberjarステップ2-Clojureアプリケーション環境のセットアップこのアプリケーションが正しく機能するためには、Java、Supervisor、およびNginxの3つの主要部分が必要です。Leiningenのインストールの一部としてJavaを最後のステップでインストールしたので、次に、SupervisorとNginxをインストールします。py27-supervisorJavaでは、手順1で説明したように、いくつかの特別なファイルシステムマウントポイントが必要です。これらの2つのコマンドを実行して、それらがマウントされていることを確認します。/procシステムを起動するたびにこれらのコマンドを実行するのではなく、自動的に実行します。+`ファイルを編集します。+`ファイルの最後に次の2つのエントリがあることを確認してください。Webアプリケーションとそのログファイルを保管する場所も必要です。次にそのディレクトリ構造を作成します。/www/logsこれで、Clojureアプリケーションファイルとデータベースファイルを作成したディレクトリに移動できます。して実行されるため、組み込みデータベースに書き込むことができます。/www/data/do-clojure-web/Clojureアプリケーションディレクトリに移動します。/www/data/do-clojure-web/app/実稼働環境では、アプリケーションのバージョン番号は更新ごとに変わります。毎回システム構成を更新する必要はありません。これを防ぐには、現在実行中のバージョンのアプリケーションへのシンボリックリンクを作成します。今後の手順でシンボリックリンクを参照します。do-clojure-web.jarアプリケーションは現在、ローカルホスト経由でのみアクセスできるように設定されていますが、エラーなしで起動することを確認できます。先に進む前にそうしてください。do-clojure-web.jarすべてが正常に機能している場合、次のような出力が得られます。+`を押して、今のところアプリケーションを停止します。手順3-Clojureアプリを実行するためのスーパーバイザーの構成アプリケーションをサービスとして管理するためのいくつかのオプションがあります。documentation]を参照することをお勧めします。+`ファイルを作成および編集します。/usr/local/etc/supervisord.confこの構成をファイルの一番下に追加して保存します。do-clojure-web.jardirectory=/www/data/do-clojure-web/appuser=wwwautostart=trueautorestart=truestartretries=3redirect_stderr=truestdout_logfile=/www/logs/do-clojure-web.app.logこの構成は非常に単純です。`ディレクトリ内からアプリケーションを実行します。+`に必ずログを記録し、クラッシュした場合はアプリケーションの再起動を試みます。Webアプリケーションは、ポート5000のローカルホストからの接続のみを受け入れるため、外部アクセスを提供するには、NginxなどのWebサーバーをその前に配置する必要があります。これは、アプリケーションを展開するときに静的アセットを提供する場合にも非常に便利です。+`ファイルを編集します。upstream`ブロックを追加します。+」セクションを追加します。これは、ポート80で通常のWebサーバーのようにリッスンし、リクエストをClojureアプリケーションにプロキシするようにNginxに指示します。.ファイルを保存して終了します。ステップ5-サービスの開始とアクセスのテストすべてのピースを起動し、物事が適切に機能していることを確認します。最初のステップは、起動時にサービスが起動するように設定されていることを確認することです。+`ファイルを編集します。+`ファイルの最後に追加します。/usr/local/etc/rc.confnginx_enable="YES"supervisord_enable="YES"ファイルを保存して終了します。先に進み、スーパーバイザーデーモンを起動して、Clojureアプリケーションを開始します。Webサーバーフロントエンドプロキシを起動します。+`にアクセスします。Clojureアプリケーションサイトのロード例が表示されます。+」でNginxを再起動してください。サイトが読み込まれたら、画面の上部にある*場所を追加*リンクをクリックし、いくつかの数値座標を追加して、データベースアクセス許可が正しいことを確認します。y値*に2を追加できます。これにより、次のようなページが表示されます。yourself.画面上部の[すべての場所を表示]リンクをクリックすると、新しいエントリが記載された表が表示されます。単純なWebサイトやアプリケーションでさえもデプロイするというトピックについて、学ぶべきことがたくさんあります。次のステップは、このチュートリアルで使用したデモアプリケーションではなく、カスタムアプリケーションをデプロイすることです。