iT邦幫忙

2023 iThome 鐵人賽

DAY 6
0
Software Development

Laravel專案練習-寶可夢管理系統系列 第 6

Day6:寶可夢專案-部署練習-基本流程

  • 分享至 

  • xImage
  •  

在專案開始做之前,我們有一個這樣的練習,把一個簡單laravel專案部署上線測試。

甚麼是部署? 其實就是將軟體從開發環境轉移到生產環境,讓終端用戶或客戶能夠使用。

前言

這裡說明一下我寫部署這邊的用意,就是我在部署過程中其實遇到了非常多的問題,而且其實有些答案都不是那麼的好找,畢竟可能每個人的設定都不太一樣,這裡我希望把自己踩過的坑寫出來,以及我對於一些設定的理解,個人比較希望自己對於一些設定有一些基本的理解而不是單純可以讓專案跑起來。

基本流程

  • 選擇伺服器位置

    1. 考慮速度、安全性、成本等因素,決定伺服器要放在哪裡,
    2. 例如本地伺服器 (On-premises)、雲端伺服器 (Cloud)
  • 選擇上傳檔案的方式

    • 如使用GitHub來管理版本和協作。

      優點

      • 版本控制:可以追踪每個更改、誰做了更改、何時做了更改以及更改的原因。
      • 協作:允許多人同時在專案上工作,且提供工具來解決合併衝突。
      • 整合:許多CI/CD工具與GitHub有深度整合,允許自動化建構和部署。
      • 備份:所有的提交和版本歷史都在雲端,即使本地發生問題,也不會失去代碼。

      缺點:

      • 學習曲線較高
    • 也可以使用FTP上傳。

      優點

      • 簡單和直觀:FTP通常是直接的「拖放」方式,對於非技術人員來說很容易上手。
      • 廣泛支持:幾乎所有的網站主機和伺服器都支持FTP。

      缺點:

      協作困難:多人同時使用FTP上傳文件可能會造成檔案覆蓋或版本混淆。

  • 設定SSH

    如果是雲端伺服器,設定SSH來遠程控制伺服器。

  • 上傳檔案到伺服器

    • 例如使用git clone指令。
    • 若使用git, 記得定期執行git pull以確保伺服器上的版本是最新的。
  • 安裝必要軟體

    • 例如安裝Web伺服器(如Nginx或Apache)、PHP、MySQL等。
  • 設定Web伺服器

    • 指定網站的根目錄、設定監聽的端口、設定PHP與伺服器之間的通訊等。
  • 安裝Composer

    • Laravel專案的依賴管理工具。
  • 使用Composer安裝依賴

    • 根據composer.json文件安裝所需的PHP包。
  • 設定環境檔案

    • 將.env.example檔案複製為.env,並設定資料庫等相關配置。
    • 確保設定的APP_KEY,以及其他的API keys或憑證都已安全且正確地配置。
    • 如果是生產環境的.env檔案記得設定APP_DEBUG=false,這樣當應用出錯時,它不會顯示敏感資訊。
  • 設定防火牆

    • 確保外部流量可以順利訪問伺服器。
    • 除了HTTP和HTTPS,如果需要從外部訪問資料庫或其他服務,確保相應的端口也已開放。
  • 設定HTTPS連線

    • 如果需要,購買域名(如從GoDaddy),設定DNS,然後使用工具(例如Let's Encrypt)申請SSL證書並設定HTTPS。
  • 測試

    • 確保可以正常訪問伺服器和Laravel專案。

結語:

這些是我自己的部署的一個簡單流程,當然細節還有很多,只是我覺得有一個這樣的步驟比較不會在部署的時候,不清楚什麼東西還沒做,我是以我自己專案的需求去設定,後面的文章還會分享一些在流程中不同選擇的差異。


上一篇
Day5:寶可夢專案-開始前的預先規劃-ER model
下一篇
Day7:寶可夢專案-部署練習-選擇專案伺服器
系列文
Laravel專案練習-寶可夢管理系統30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言