1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

開発環境構成図[Nginx × Unicorn × Supervisor × Rails × MySQL on Docker]

Posted at

まだ理解の途中ですが、ポートフォリオアプリの開発環境をDockerを用いて構成したので、現状での理解度を記したいと思います。

開発環境構成図

開発環境.png

Rails

rubyのフレームワーク、MVCのやり取りを行う。

MySQL

OSSのRDS、railsのDB情報を保存する。

Supervisor

プロセス管理/デーモン化のツール。

「dockerコンテナは、プロセスがフォアグランドで動いていないと終了する」という制約がある事から、Supervisorがフォアグランドで動作するように見せることで、コンテナの停止を防ぐ。
また、Webサーバー・アプリケーションサーバーのプロセス管理を行う。

Unicorn

(これが特に怪しい。)

RailsとWebサーバーのやり取りを仲介するミドルウェア。送信されてきた多数のリクエストを捌き、分散してアプリケーションに伝達するという機能を持つ。
リクエスト毎に、マスタープロセスをフォークしたワーカープロセスを生成し、一定時間が経つとマスタープロセスによって破棄される。ワーカープロセスの生成・破棄をUnicornが停止するまで繰り返す。

Nginx

Webサーバーの役割を担うミドルウェア。HTTPリクエストとレスポンスを管理し、confファイルでhttpやserverの設定を行うことで、複数のヴァーチャルサーバーを作成する事ができる。

1
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?