首頁  >  文章  >  後端開發  >  如何使用 Laravel Forge 設定伺服器?

如何使用 Laravel Forge 設定伺服器?

PHPz
PHPz原創
2024-07-17 18:27:12861瀏覽

How to Provision a Server With Laravel Forge?

Laravel 是一個強大的 PHP 框架,使開發人員能夠建立動態且可擴展的 Web 應用程式。然而,設定和管理部署伺服器的過程可能是一個重大障礙。這就是 Laravel Forge 的用武之地。

Laravel Forge 是一個平台即服務 (PaaS),專門設計用於簡化 Laravel 應用程式的伺服器配置、部署和管理。借助 Forge,您可以輕鬆地配置具有針對 Laravel 優化的預先配置環境的雲端伺服器,所有這些都在使用者友好的 Web 介面中進行。

這篇部落格文章將引導您完成利用 Laravel Forge 來設定伺服器並為 Laravel 應用程式建立簡化的部署工作流程的流程。我們將深入研究使用 Forge 的好處,探索逐步的伺服器設定流程,並討論如何整合自動化測試和部署策略。最後,您將能夠自信且有效率地部署 Laravel 專案。

了解伺服器配置

在探索 Laravel Forge 的魔力之前,讓我們對伺服器配置有一個紮實的了解。在 Web 開發的上下文中,伺服器配置是指設定伺服器環境來託管應用程式的過程。傳統上,這涉及在 DigitalOcean 或 Amazon Web Services (AWS) 等雲端供應商上手動配置伺服器執行個體。

想像一下場景:您需要透過 SSH(安全性外殼協定)連接到伺服器,安裝必要的作業系統和軟體(PHP、Nginx 等 Web 伺服器)、設定資料庫(MySQL、PostgreSQL)並保護伺服器有防火牆。這種手動方法可以是:

  • 耗時:每個步驟都需要技術專業知識,而且可能相當漫長,尤其是對於複雜的配置。
  • 容易出錯:設定過程中的一個失誤可能會導致安全漏洞或應用程式故障。
  • 安全問題:手動管理軟體更新和防火牆規則可能是一場安全噩夢。

Laravel Forge 透過自動化整個伺服器設定過程來消除這些複雜性。您可以利用使用者友善的介面來定義您的伺服器要求,並讓 Forge 處理繁重的工作,而不是費力使用命令列。

Laravel 鍛造廠

Laravel Forge 為 Laravel 開發人員減輕了伺服器設定和管理的痛苦。作為一種平台即服務 (PaaS),它提供了一套全面的功能,旨在簡化整個流程,讓您能夠專注於自己最擅長的事情:建立令人驚嘆的 Laravel 應用程式。

以下是 Forge 如何簡化伺服器設定:

  1. 預先配置環境
    Forge 會自動安裝和設定 Laravel 應用程式所需的基本軟體堆疊,包括最新版本的 PHP、Web 伺服器(如 Nginx)和資料庫伺服器(如 MySQL)。這消除了手動配置的需要,並確保與您的 Laravel 專案的兼容性。

  2. 簡化伺服器建立
    忘記複雜的命令列交互。借助 Forge,您只需在用戶友好的介面中單擊幾下即可建立新的伺服器實例。只需選擇您首選的雲端供應商(DigitalOcean、AWS 等),根據您的應用程式需求選擇伺服器大小,並定義最佳效能區域。

  3. 增強的安全性
    Forge 透過實施開箱即用的基本措施來優先考慮安全性。自動軟體更新使您的伺服器能夠運行最新的安全補丁,而預先配置的防火牆則有助於保護您的應用程式免受惡意攻擊。 Forge 還可以設定和管理 SSL 憑證以實現安全 HTTPS 連線。

  4. 整合部署功能
    Forge 與 Git 儲存庫無縫集成,只需單擊即可簡化部署。您甚至可以定義自訂部署腳本來自動執行任務,例如執行遷移或資料庫播種。

本質上,Laravel Forge 充當程式碼和伺服器環境之間的橋樑。它可以處理底層的複雜性,讓您可以在幾分鐘內為您的 Laravel 專案配置安全且最佳化的伺服器。

使用 Laravel Forge 設定伺服器的逐步指南

第 1 步:註冊和帳戶設置

在我們開始使用 Laravel Forge 設定您的第一台伺服器之前,讓我們先為您設定一個帳戶。這是一個快速指南:

  1. 前往 Laravel Forge。您將看到一個乾淨且資訊豐富的登陸頁面。
  2. 點選右上角的「註冊」。註冊過程很簡單,需要基本訊息,例如您的姓名、電子郵件地址和強密碼。
  3. 選擇訂閱方案。 Forge 提供各種訂閱級別,以滿足不同的專案需求。對於個人開發人員或小型團隊來說,「愛好」計畫可能就足夠了。它提供一台伺服器和有限的功能,但它是一個很好的試水方式。隨著您的專案規模擴大,您始終可以升級到更高級別,提供更多伺服器和高級功能。
  4. 連接您的雲端供應商。 Forge 與 DigitalOcean 和 Amazon Web Services (AWS) 等受歡迎的雲端供應商無縫整合。如果您還沒有雲端提供者的帳戶,通常可以在 Forge 註冊過程中註冊免費試用。

專業提示:在設定期間選擇伺服器大小時,請考慮專案的資源需求。 Forge 提供多種伺服器配置,因此您可以選擇最適合您應用程式的流量和複雜性的一種。如果您對選擇正確的計劃或伺服器大小有任何疑問,請隨時瀏覽文件或聯絡 Forge 的支援團隊。

第 2 步:連接您的雲端供應商

註冊 Laravel Forge 並選擇訂閱方案後,下一步就是連結您首選的雲端供應商帳戶。這使得 Forge 能夠與您的雲端提供者的 API 進行交互,並代表您無縫地配置伺服器實例。以下是過程的詳細說明:

  1. 導航到「伺服器」部分。在 Forge 儀表板中,找到左側導覽功能表上的「伺服器」部分。
  2. 點選「新增伺服器」。這將啟動伺服器建立過程。
  3. 選擇您的雲端供應商。在這裡,您將看到受支援的雲端提供者的列表,例如 DigitalOcean、AWS 等。選擇您已註冊或計劃使用的提供者。
  4. 使用 API 憑證進行連線。每個雲端提供者都有自己的身份驗證方法。 Forge 通常會引導您完成在雲端提供者的帳戶設定中產生必要的 API 憑證(存取金鑰或令牌)的程序。取得這些憑證後,只需將它們輸入 Forge 介面中的相應欄位即可。
  5. 授予權限。輸入憑證後,系統可能會提示您授權 Forge 存取您的雲端提供者帳戶。這是標準的安全措施。仔細檢查所請求的權限,並僅在您願意的情況下授予它們。

第三步:伺服器配置

建立雲端供應商連線後,是時候在 Laravel Forge 上設定您的第一個伺服器了。您可以在此定義伺服器環境的具體特徵:

  1. 伺服器大小
    Forge 提供一系列配置,通常按 CPU 核心、記憶體 (RAM) 和儲存容量等因素進行分類。考慮您的應用程式的預期流量和資源使用情況以做出明智的決定。

    • 對於流量較低的小型 Laravel 專案:具有 1 個 CPU 核心、1 GB RAM 和 25 GB 儲存空間的基本伺服器可能就足夠了。
    • 對於具有更複雜功能的繁忙應用程式:您可以選擇具有 2-4 個 CPU 核心、4-8 GB RAM 和 50 GB 或更多儲存空間的伺服器。
  2. 伺服器位置(區域):
    選擇適當的伺服器區域可以顯著影響應用程式的效能。理想情況下,選擇地理位置靠近目標受眾的區域。這可以最大限度地減少用戶訪問您的應用程式的延遲(回應時間)。

  3. SSH 金鑰選擇:
    Secure Shell (SSH) 是伺服器管理的重要工具。在設定過程中,Forge 允許您選擇現有的 SSH 金鑰對或產生新的金鑰對。我們強烈建議使用 SSH 金鑰對來安全地存取伺服器,而不是依賴密碼。

  4. 防火牆規則:
    雖然 Forge 配備了用於基本安全的預先配置防火牆,但您可以選擇自訂防火牆規則以進一步限制對伺服器的存取。但是,建議熟悉防火牆配置的更進階使用者使用此方法。

  5. 選址
    如果您打算在同一台伺服器上託管多個 Laravel 應用程序,則可以選擇在伺服器設定期間建立新網站。這允許 Forge 為您的特定 Laravel 專案設定必要的目錄結構和配置。

選擇每個設定選項後,只需按一下“建立伺服器”,Forge 將處理伺服器設定程序。

第 4 步:伺服器設定過程

伺服器設定完成後,是時候見證 Laravel Forge 的魔力了。點擊“建立伺服器”,然後坐下來,讓 Forge 無縫處理整個伺服器配置過程。以下是幕後發生的事情的詳細說明:

  1. 安全連線:
    Forge 使用 SSH 和您選擇的 SSH 金鑰對來建立與雲端供應商基礎架構的安全連線。此安全通道可確保伺服器建立期間通訊的完整性和機密性。

  2. 伺服器實例啟動:
    根據您的配置,Forge 指示您的雲端供應商啟動新的伺服器執行個體。這涉及在配置期間指定分配 CPU 核心、記憶體和儲存等資源。

  3. 作業系統安裝:
    Forge 會在新啟動的伺服器執行個體上自動安裝所需的作業系統(通常是 Linux 發行版,例如 Ubuntu)。

  4. 軟體堆疊配置:
    這就是 Forge 的閃光點。它安裝並配置運行 Laravel 應用程式所需的所有基本軟體組件。這包括:

    • PHP:PHP 的最新穩定版本,確保與您的 Laravel 專案相容。
    • Web 伺服器(例如 Nginx):為高效率服務 Web 應用程式而最佳化的 Web 伺服器。
    • 資料庫伺服器(例如MySQL):用於儲存應用程式資料的資料庫管理系統。
    • 其他相依性:Composer、Redis、Memcached 以及其他對 Laravel 功能至關重要的程式庫和工具。
  5. 安全措施
    Forge 透過實施基本措施來優先考慮安全性:

    • 自動更新:定期對伺服器軟體套用安全性更新,確保您的環境會針對漏洞進行修補。
    • 防火牆設定:預先設定的防火牆規則有助於保護您的伺服器免受未經授權的存取。
    • SSL 憑證:Forge 可以自動設定和管理 SSL 憑證,確保您的應用程式的安全 HTTPS 連線。

第 5 步:驗證伺服器配置

設定過程完成後,驗證您的伺服器是否已正確設定並準備好託管您的 Laravel 應用程式至關重要。以下是執行徹底驗證的方法:

  1. SSH 登入:

    • 使用您在設定過程中選擇的 SSH 金鑰對登入伺服器。開啟終端機並執行以下命令(將 your_server_ip 替換為伺服器的實際 IP 位址):
     ssh forge@your_server_ip
    
  • 如果登入成功,您將可以存取伺服器的命令列介面。
  1. 檢查已安裝的軟體

    • 透過執行以下命令驗證 PHP 是否已安裝並正確配置:
     php -v
    
  • 確保網路伺服器(例如 Nginx)正在運作:

     sudo systemctl status nginx
    
  • 確認資料庫伺服器(例如 MySQL)可以運作:

     sudo systemctl status mysql
    
  1. 驗證 Laravel 安裝:

    • 為了確保 Laravel 正確安裝和運行,請導航至 Laravel 專案的公共目錄並運行:
     cd /path/to/your/laravel/project/public
     php artisan serve
    
  • 開啟網頁瀏覽器並存取伺服器的 IP 位址,然後存取終端機中顯示的連接埠號碼(通常為 http://your_server_ip:8000)。您應該會看到預設的 Laravel 歡迎頁面,表示應用程式已成功運行。

透過執行這些驗證步驟,您可以自信地確認您的伺服器已正確配置並準備好託管您的 Laravel 應用程式。

整合測試和部署

伺服器啟動並運行後,就應該專注於整合自動化測試和部署策略,以簡化您的開發工作流程。

測試框架

Laravel 為自動化測試提供強大的支持,使您能夠確保應用程式的品質和可靠性。以下是如何開始使用 PHPUnit 和 Pest 等測試框架:

  1. PHPUnit:

    • PHPUnit is the default testing framework included with Laravel. You can write unit tests, feature tests, and browser tests to validate different aspects of your application.
    • Create a sample test case in the tests/Feature directory and run the tests with:
     php artisan test
    
  2. Pest:

    • Pest is a delightful PHP testing framework with a focus on simplicity and readability. It can be used alongside or as an alternative to PHPUnit.
    • To install Pest, run:
     composer require pestphp/pest --dev
    
  • Create a new test case using Pest syntax and execute the tests with:

     php artisan pest
    

By incorporating automated testing into your workflow, you can catch bugs early and ensure that your application functions as expected.

Leveraging Forge for Deployment Automation

Laravel Forge simplifies the deployment process by integrating seamlessly with Git repositories and providing tools for automated deployments. Here's how you can leverage Forge for deployment automation:

  1. Git Repository Integration:

    • Connect your Git repository (GitHub, GitLab, or Bitbucket) to Forge. This allows Forge to pull the latest code changes from your repository during deployment.
    • In the Forge dashboard, navigate to your server's settings and configure the repository details.
  2. Deployment Scripts:

    • Define custom deployment scripts to automate tasks during deployment. For example, you can run database migrations, clear caches, or install dependencies.
    • Create a deploy.sh script in your project root directory and add commands like:
     #!/bin/bash
     cd /path/to/your/laravel/project
     php artisan migrate --force
     php artisan cache:clear
    
  3. Zero-Downtime Deployment:

    • Forge supports zero-downtime deployment strategies, ensuring that your application remains available to users during updates.
    • Enable zero-downtime deployment in the Forge settings to minimize disruptions during code deployments.

By integrating Forge with your Git repository and configuring deployment scripts, you can achieve a streamlined and automated deployment process, reducing the risk of errors and downtime.

Additional Considerations

To maximize the efficiency and security of your server provisioning and deployment process, consider the following additional considerations:

Security Best Practices

  1. Environment Variables:

    • Use environment variables to store sensitive information like API keys and database credentials. Forge supports managing environment variables securely within the dashboard.
  2. Monitoring and Performance:

    • Implement monitoring tools like New Relic or Prometheus to gain insights into your server's performance and detect potential issues early.

Advanced Configuration

  1. Scaling and Load Balancing:

    • As your application grows, consider scaling your infrastructure horizontally by adding more servers and implementing load balancing.
  2. Backup and Disaster Recovery:

    • Regularly back up your database and application files to ensure that you can recover quickly in case of data loss or server failures.

Conclusion

In this blog post, we've explored the power of Laravel Forge in simplifying server provisioning and deployment for Laravel applications. By following the step-by-step guide, you can effortlessly provision secure and optimized servers, integrate automated testing, and streamline the deployment process.

With Laravel Forge, you can focus on building amazing Laravel projects while Forge handles the complexities of server management. Embrace the power of automation, enhance your development workflow, and deploy your Laravel applications with confidence and efficiency.

For more advanced features and detailed documentation, visit the Laravel Forge Documentation.

Happy coding!

以上是如何使用 Laravel Forge 設定伺服器?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn