0
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?

[デプロイ自動化編] Capistrano導入とNginx設定・ブラウザキャッシュの罠を突破する全工程

Posted at
  1. Webサーバー「Nginx」の導入
    なぜやるか: アプリ(Unicorn)の前に「受付窓口」を作り、画像などの静的データを効率よく配信するためです。 💻 操作場所:サーバーの中
# ① Nginxのインストール
sudo amazon-linux-extras install nginx1

# ② 設定ファイルの作成(手動デプロイ用から自動デプロイ用へ)
sudo vim /etc/nginx/conf.d/rails.conf

2.自動デプロイツール「Capistrano」の導入
なぜやるか: 手動での git pull やプロセス再起動を卒業し、ローカルからコマンド一発で本番反映させるためです。
💻 操作場所:自分のPC VSコード上 Gemfile

# Gemfileに追記
group :development, :test do
  gem 'capistrano'
  gem 'capistrano-rbenv'
  gem 'capistrano-bundler'
  gem 'capistrano-rails'
  gem 'capistrano3-unicorn'
end

💻 操作場所:自分のPCのターミナル(ローカル)

# ① Gemの反映
bundle install
# ② Capistranoの設定ファイル群を自動生成
bundle exec cap install

3.【重要】自動デプロイ用の構造へ設定変更
なぜやるか: Capistranoを使うと、アプリの居場所が current という特殊なフォルダに変わるため、各設定をそれに合わせる必要があります。

📁 変更後のディレクトリ構造
current: 最新のアプリ本体

shared: デプロイしても消したくないログや設定ファイル

releases: 過去5回分のバックアップ

🛠 設定の修正ポイント
config/unicorn.rb: パスを ../../../../ レベルまで深くし、shared 内のソケットを見るように修正。

/etc/nginx/conf.d/rails.conf: root を .../current/public に、server unix を .../shared/tmp/... に修正。

  1. 自動デプロイの実行
    💻 操作場所:自分のPCのターミナル(ローカル)
# 全てをGitHubにpushした後、魔法のコマンドを実行!
bundle exec cap production deploy

成功すると、サーバーにログインすることなく本番環境が更新されます。

  1. 最後の罠:ブラウザのキャッシュ問題
    現象: Safariでは最新の状態が見れるのに、Google Chromeではエラーや古い画面が出る。 原因: Chromeが「このサイトは安全(HTTPS)で繋ぐべき」と過去の記憶で勝手に変換したり、古いキャッシュを保持したりするため。

🔐 解決策:

シークレットモード (Cmd + Shift + N) でアクセスする。

URLの頭に必ず http:// をつけて明示的にアクセスする。

Chromeの再読み込みボタンを右クリックし「キャッシュの消去とハード再読み込み」を実行。

0
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
0
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?