CowboyD:Erlangの組み込みWebサーバーであるCowboyの悪魔

私は何について話しているのですか?



ほとんどすべてのErlang Webアプリケーションはどこから始まりますか? 私はそれがどんな人なのかわかりませんが、原則として、カウボーイの立ち上げとリクエストの処理を担当するコード行から取得しています。 ルーティングルールを更新する機能。 さらに、それは常に同じことです-経路だけが異なり、ポートとアクセプターの数が異なる可能性があります。 そして、それは簡単にすることができます。 すでに推測、私は何を得ていますか? いいえ、これは別のフレームワークではありません。 これにより、組み込みカウボーイがスタンドアロンアプリケーションに変わります。 つまり、カウボーイハンドラーというアプリケーションを作成していますが、カウボーイ自身には触れません。 一般的に。 依存関係を指定することも、アプリケーションの起動時に依存関係を起動することもありません。 好奇心が強い 猫へようこそ。



代わりに、アプリケーションの準備ができたら、コンソールでコマンドを実行します



cowboyd start myapp /path/to/myapp 8080
      
      





そして奇跡的に、私たちのアプリケーションは実行されており、ポート8080でそれを賞賛することができます。停止も同様に簡単です。



 cowboyd stop myapp
      
      





同時に、もちろん、好きなだけアプリケーションを実行できます-主なことは、それらに異なるポートを与えることを忘れないことです;)

ルーティングルールは、アプリケーションのルートディレクトリにあるroutes.configファイルに書き込まれます。 Erlang構文では、モジュールを宣言したり、関数をエクスポートしたり、実際にそれらを記述する必要はありません。 routes.configの例を見ると簡単です。 ルーティングルールを更新する必要がある場合は、次の簡単なコマンドを実行するだけです。



 cowboyd routes-update myapp
      
      





更新後、 同期ユーティリティによりコードが自動的に再起動します。



導入部分が終了し、メイン部分と最短部分が完成しました。



設置



私たちがカウボーイドを置く場所に行く

 cd ~/github_projects
      
      





プロジェクトリポジトリのクローンを作成する

 git clone https://github.com/chvanikoff/cowboyd
      
      





カウボーイにパフォーマンスの権利を与える

 chmod +x cowboyd/cowboyd
      
      





カウボーイをどこかで実行可能ディレクトリにリンクします-たとえば、/ usr / bin

 sudo ln -s cowboyd/cowboyd /usr/bin/cowboyd
      
      





以上で、テストアプリケーションをリポジトリから実行できるようになりました



 cowboyd start webapp ~/github_projects/cowboyd/examples/webapp 8008
      
      





アプリケーションはhttp:// localhost:8008で実行されていると言うことができ、 〜/ github_projects / cowboyd / examples / webapp / priv / cssから静的cssを提供し、他のすべてのページに404を渡します。 それがあなたを退屈させたらすぐに-あなた自身の何かを書き、ビジネスでカウボーイを試してみる時間です;)



リポジトリリンク: github.com/chvanikoff/cowboyd



ご清聴ありがとうございました。



All Articles