2015-12-23 13 views
6

プロダクションで私のPhoenixアプリケーションを永遠に、つまり自分のターミナルプロセスとは独立して実行しようとしています。私はフェニックスのガイドとStackoverflowの質問で、私はelixir --detachedを使うことができると知っていましたが、私はそれらのコマンドを適切に使うことができません。実際、私はそのようなことを始めたことができましたが、何を作るのかわからないほど多くのコマンドを試しました(また、明確にするメッセージがないため)。 したがって、Phoenix(1.1)とElixir(1.1.1)の最新バージョンを使用して、次のコマンドを実行してください。 1)サーバーを永遠に(デーモンとして)起動します。 2)サーバーを再起動する必要なくサーバーを停止しますか?プロダクションで永遠にフェニックスを実行する方法

答えて

12

自分で--detachedのスイッチを使ってデーモンとしてElixir/Phoenixアプリを実行する方法を決して決したことはありません。しかし、私はExrmでOTPリリースを構築することが行く方法であることを伝えることができます。最初はちょっと怖かったかもしれませんが、それはかなり簡単で、2つのビルドが事実上あなたに無頓着になると約束します。さらに、今すぐExrmを学習する時間を費やす場合は、後で実稼動環境の展開を洗練する必要はありません。

Phoenix Guide for Exrm Releasesがあります。さらに、私はちょうど件名にExCasts epsiodeをリリースしました。このエピソードでは、ExrmでPhoenixリリースをカバーしているわけではありませんが、すべての概念とデモンストレーションは適用可能です。 Exrmを使用してOTPリリースを構築すると、,remote_console、およびホットupgrade/downgradeなどのいくつかのコマンドで生成されたスクリプトを含む、エピソードで説明されている多くの利点があります。つまり、アプリケーションを再起動せずにアプリケーションをデプロイできます。

希望と幸運を願っています!

+0

ありがとうございました。私はその道をたどるつもりだと思っていますが、今は顧客に私のアプリをデモする必要があります。私は遠隔地のサーバーに接続し直しているので、これは一時的なデモのASAPソリューションにすぎません。 –

+2

最悪の場合、tmuxまたはscreenを使用して、デモ用にアプリケーションをフォアグラウンドで実行してください。 –

+0

@MickaëlRémondありがとう!やります。 –

1

また、優れた蒸留所ライブラリを参照してください。 GitHubのはここにある:その後

https://hexdocs.pm/distillery/phoenix-walkthrough.html#phoenix-walkthrough

、あなたの好みに関するフォアグラウンドまたはバックグラウンドでプロセスを実行することができます:あなたの鳳凰アプリケーションの起動と動作を取得するためのガイドもhttps://github.com/bitwalker/distillery

あり。

関連する問題