あれから、長い月日が経ちました・・・
そう、railsのデプロイが失敗してから・・・(ご興味ある方はこちらから→「Rails」デプロイへの道②:さくらVPS (Windows7))
herokuにはじかれ、さくらVPSにはじかれ、どうしようかと絶望しました。
しかし、なんか悔しかったので、そもそもの原因だと感じた開発環境の再構築を行いました。(ご興味ある方はこちらから→VirtualBox + Vagrant +Rails + Mysql で初心者が開発環境構築(Windows7)①)
そして、私は失意のうちにアプリケーションを作り直し、ついに再びこの時が来たのです。
そう、デプロイするときが!!!
さくらVPSにデプロイする手順
どこにデプロイしようかなーと考えたときに、サーバーサイドの仕組みも少し勉強したいなと思ったので、さくらVPSにしようと決めました。
単純に悔しかったってのもありますがね。
まーそんなこんなでデプロイしようと思ったんですが、色々なサイトを参考にしつつ、基本的な構成とデプロイまでの道筋を決めました。
構成:
CentOS7+Rails5.0+Nginx+Unicorn+Capistrano+MariaDB
道筋:
- さくらVPS初期設定(さくらVPS操作)
- Ruby設定(さくらVPS操作)
- MariaDB設定(さくらVPS操作)
- Nginx設定(さくらVPS操作)
- Unicorn設定(ローカル操作)
- Capistrano設定(ローカル操作)
- git設定(ローカル操作)
- デプロイ(ローカル操作)
基本的な構成のOSとDBは開発環境のものと合わせ、NginxとUnicornは評判がいいので採用し、デプロイツールは当然のようにCapistranoを選択。
そんなこんなで取り掛かる前に、色々と疑問に思ったことがあったので、調べてみました!
作業の前に、基本的な仕組みをおさらい
・デプロイの仕組み
gitに登録したリモートリポジトリを、さくらVPSにアップロードする仕組みになっています。
そのために必要なのがCapistranoなんだそう。
gitのリモートリポジトリにアプリケーションを登録
↓
手元のパソコンでCapistranoを使って、gitリモートリポジトリに登録したアプリケーションをgitリモートリポジトリからさくらVPSにアップロード
こんな感じでCapistranoは使うそうです。
railsのデプロイはかなり複雑らしいのですが、Capistranoを使うことでかなり簡単に、早くできるとのこと。
Capistrano優秀ですね!
・それぞれの役割(アクセスがあった場合の処理手順)
ユーザーからページのリクエスト
↓
Webサーバーが自分で処理できないものはアプリケーションサーバーに処理を要求
↓
アプリケーションサーバーが処理、必要な情報をDBに請求
↓
DBが要求された情報を取り出し、アプリケーションサーバーに渡す
↓
アプリケーションサーバーがWebサーバーに返答
↓
Webサーバーがリクエストに返答
↓
アクセスしたページが表示される
こんな感じの流れのようですよ。
つまり、今回の構成で行くと、リクエストを処理する順番は、
リクエスト→Nginx→Unicorn→MariaDB
となるわけですね。
それぞれ何をやっているかわからなかったので、勉強になりましたね。
この流れがわかっていると、エラーを吐いたときにどこでエラーが起きているのかを考えるのに役立つなーと思いました。
さて、そんなこんなで次回からデプロイ作業、入っていきます!
次回はこちらから。(rails デプロイへの道:さくらVPSリベンジ編②(さくらVPS初期設定:CentOS7))
まとめ
まー色々と書いてきましたが、結局何が言いたかったかというと、
備忘録
ってことです。
自分が忘れないように書いておきたいなってやつです。
私は忘れっぽいので、丁寧に書いておきたいなと思ったり。
もしもう一回違うアプリケーションをデプロイするってなったときに、思考停止でデプロイできるようになるまで詳しくできたらなと思いました。
なんといっても素人なので、基本的にはわからないことだらけです。
少しずつ詳しくなっていけたらなと思うばかりです。
コメント