Rails 部署實踐 - 伺服器搭建
要將網站使用容器技術部署,就需要有可以運行容器的伺服器。要滿足可以提供其他人連上使用、隨時提供服務以及能夠運行容器,選擇雲端服務上的 Linux 伺服器會是最適合的選項。
要將網站使用容器技術部署,就需要有可以運行容器的伺服器。要滿足可以提供其他人連上使用、隨時提供服務以及能夠運行容器,選擇雲端服務上的 Linux 伺服器會是最適合的選項。
在 Rails 部署實踐 - 容器化 Rails 專案概述中,我們快速的介紹了將專案容器化的入門技巧,雖然我們可以製作出能夠運行的鏡像,卻沒辦法將它傳送到我們想要部署的環境中。
這篇文章會向大家介紹如何讓我們的伺服器可以獲取要部署的鏡像,並且加以部署。
要將 Ruby on Rails 透過容器的方式部署,我們就需要讓我們的專案可以被容器化。這篇文章我們會採用最簡單的方式進行容器化,扣除掉有使用特殊的 Ruby Gem 的情況下,大多能夠透過這種方式完成容器化。
我們在以容器部署 Rails 的方案介紹了以容器化的方式部署 Rails 專案的方案,然而在部署之前我們還有不少前置準備需要處理。
如果你已經有部署過網站,很可能已經有大部分需要的條件,那麼可以考慮跳過這篇文章。如果是第一次準備部署,那麼可以先來看看這些需要預先準備的東西有哪些。
過去幾年,使用容器技術(Container)來部署 Ruby on Rails 專案已經變成我個人最喜歡的方式之一。除了生態系完整之外,也有著容易安裝、部署環境,並且可以很好的維持部署環境乾淨的優點存在。
基於這樣的理由,在 Rails 部署實踐這一系列,我們會由 Rails 的容器部署方案最為起點開始討論可以使用的部署方案。
在我們學習 Rails 的過程中,從安裝環境、設計系統到撰寫程式在市面上都已經有非常詳細的教學,然而到了部署階段受限於篇幅大多只有 Heroku 這個選項,很少有人針對 Rails 的部署深入討論。
這會是一系列的文章,你可以選擇訂閱弦而時習之來收到最新的文章更新,同時在未來如果有額外的內容,也會透過訂閱列表發送給有訂閱的讀者。
前面幾篇文章已經把所有關於 Ruby 和資料庫都設定完成,最後一個階段就是要把 Nginx 設定好,並且讓 Let’s Encrypt 可以正確的被設定,讓網站支援 SSL 功能。
現在伺服器還沒辦法下載到 Ruby on Rails 專案的原始碼用來部署,這一篇會介紹該如何把原始碼下載回來,並且在伺服器上將相關的 Ruby Gem 都安裝好。
經過前面五篇的教學,我們距離將 Ruby on Rails 部署到伺服器上越來越接近了。上一階段我們在本機段將部署的設定做完之後,這一篇文章會回到伺服器將部署所需的設定補齊,讓 Capistrano 可以正確的將程式碼部署到伺服器。
到第四篇為止,我們已經有了可以運行 Ruby on Rails 的環境,不過到底該怎麼在伺服器上跑起來呢?
絕對不是把程式碼複製到伺服器這種簡單的做法,或者說這樣的做法在更新上是很沒有效率的!