見出し画像

【応用70%】TECHCAMP名古屋23日目

どうも、ジュンです

いつもご視聴、コメント、高評価、ありがとうございます

TECHCAMP名古屋 73期 副業フリーランスコース23日目で学んだことについてお話します

nginxで2個、Capistranoで12個、Vimで1個のことについて学んだので、それぞれ説明します
また、EC2のNginx環境構築手順、EC2のCapistrano環境構築手順についてまとめたので、それぞれ説明します

★nginxで学んだこと★
1.nginxとは
Webサーバーの一つです

2.Webサーバーとアプリケーションサーバーの違い
クライアントと直接やり取りするのがWebサーバーです
Webサーバーで処理が完結するようであればそのままクライアントに返します
そうでなければ、Webサーバーからアプリケーションサーバーに情報を渡し、
アプリケーションサーバ内で処理し、それをWebサーバにまた返し、
更にそれをWebサーバがクライアントに返します

★Capistranoで学んだこと★
1.Capistranoとは
自動デプロイツールと呼ばれるものの一種です

2.Capistranoを使わなかった場合のデプロイ手順
ローカルでGithubにpush
EC2にSSH接続
EC2でpull
EC2でアセットコンパイル
EC2でUnicornを再起動

3.Capistranoを使った場合のデプロイ手順
ローカルでGithubにpush
ローカルでbundle exec cap production deploy

4.Capfile
capistrano全体の設定ファイルです
Capistrano関連のライブラリのうちどれを読み込むかを指定できます

5.デプロイについての設定を書くファイル
deploy.rb
production.rb
staging.rb

6.デプロイについての設定を書くファイルに記述するもの
Githubへの接続に必要なSSHキー
デプロイ先のサーバのドメイン
AWSサーバへのログインユーザー名
サーバーにログインしてからデプロイのために何をするか

7.deploy.rbとは
production環境、staging環境どちらにも当てはまる設定を記述します
記述するものは、
アプリケーション名
gitのリポジトリ
利用するSCM
タスク
それぞれのタスクで実行するコマンドです

8.DSL
Domain Specific Languageの略です
ドメイン固有言語です
特定の処理における効率を上げるために特化した形の文法を
擬似的に用意したプログラムです

9.Capistranoによる自動デプロイ後のディレクトリ構成
一度Capistranoによる自動デプロイを実行すると、
本番環境のアプリケーションのディレクトリが変化します
railsアプリケーションの下に、
release、current、sharedが追加されます

10.release
capistranoを通じてデプロイされたアプリは、
releaseというフォルダにひとまとめになります
デプロイ時に問題が発生したときのバックアップ用領域と
思っていただいて差し支えありません
deploy.rbのset :keep_releaseで保存数を指定します

11.current
releaseフォルダの中で一番新しいものです
この中に入っているものが、現在デプロイされている内容です

12.sharedディレクトリ
バージョンが変わっても共通で参照されるディレクトリが格納されるディレクトリです
log、public、tmp、vendorディレクトリが格納されます

★Vimで学んだこと★
1.vimで全記述を削除する方法
通常モードで:%dを入力します

★EC2のNginx環境構築手順★
unicornとnginxの連携
https://github.com/EL93019205/chat-space/commit/550b9cb9cfd1db2db5c1a2a46607789e18992eed

★EC2のCapistrano環境構築手順★
Capistrano関連のGemを追加
https://github.com/EL93019205/chat-space/commit/73290f3827a2687373362f6e3f13d7c8989cb38b

bundle install
https://github.com/EL93019205/chat-space/commit/246908584f26027a13f3ff29208fd9bf4a6f01ba

bundle exec cap install
https://github.com/EL93019205/chat-space/commit/c3d69381969ced28e9d2a7e4847aaec2abff2ade

Capfileの中身を全て削除
https://github.com/EL93019205/chat-space/commit/1a45436b72a57e1f4e19fd710f4961d7554a44b1

Capfileの中身を作成
https://github.com/EL93019205/chat-space/commit/4da33d4e8b809aa7aec24d14500a62d3ae0a405c

production.rbにデプロイの設定を記述
https://github.com/EL93019205/chat-space/commit/f8e73ad6d6c2a7b62c3b71f1cc770850776db697

deploy.rbの中身を全て削除
https://github.com/EL93019205/chat-space/commit/c2bb1d03a889b870a66698a3f9af3cee868fe81c

deploy.rbの設定の記述
https://github.com/EL93019205/chat-space/commit/01b7bdb69227a3a0adc61419c57a2a2ac96502e0

unicornの設定ファイルの変更
https://github.com/EL93019205/chat-space/commit/6866923fcae9972478c717389a36793bbaacf4b0

★環境構築手順書置き場★
https://drive.google.com/drive/folders/14F4AmgnK0n022uYLatlQbvuPIGLGLFgt

この記事が気に入ったら、サポートをしてみませんか?
気軽にクリエイターの支援と、記事のオススメができます!
3
今やっていることをアウトプットするためにnoteを利用しています。更新順だと見づらいのでマガジンで種類別に記事を分けています。

こちらでもピックアップされています

TECH::CAMP名古屋で学んだこと
TECH::CAMP名古屋で学んだこと
  • 28本

TECH::CAMPで学んだことをYouTubeで配信します。 コースはTECH::CAMP エンジニアクラス 副業・フリーランス 夜間・休日スタイルです。

コメントを投稿するには、 ログイン または 会員登録 をする必要があります。