搜尋
首頁php框架Laravel詳細介紹LNMP架構下Laravel 專案的部署及配置流程

在目前的網路環境下,快速且有效率地部署 Web 應用是至關重要的一環。而 PHP 框架 Laravel 作為當下較為受歡迎的 Web 開發工具,其部署方式也備受關注。針對 Laravel 專案的部署,目前較主流的選擇是 LNMP(Linux Nginx MySQL PHP)架構,因為其具有高效、穩定、易於操作的特點,越來越得到人們的青睞。

本文將聚焦在 LNMP 架構下 Laravel 專案的部署及配置流程。以下為詳細步驟:

  1. 安裝LNMP

LNMP 是一套基於開源軟體的Web 伺服器架構,由Linux 作業系統、Nginx、MySQL 和PHP 組合而成。在部署 Laravel 專案前,需要先安裝 LNMP 並確保其正常運作。

建議使用yum 指令安裝LNMP,具體操作如下:

$ sudo yum install nginx    # 安裝Nginx 伺服器
$ sudo yum install mysql-server mysql    # 安裝Nginx 伺服器
$ sudo yum install mysql-server mysql    # 安裝 SQLSQL 資料庫安裝$ sudo yum install php-fpm php-mysql php-gd php-mbstring    # 安裝PHP 及相關元件

  1. 設定Nginx

Nginx 是一個開源、高效能的HTTP 和反向代理伺服器。 Laravel 專案的部署需要設定 Nginx 伺服器以確保其正確運作。

開啟Nginx 的設定檔/etc/nginx/nginx.conf 並增加以下內容:

server {

listen 80;
server_name yourdomain.com;    # 请替换成您的域名或者 IP
root /path/to/laravel/public;    # 请替换成 Laravel 项目的 public 目录的绝对路径
index index.php;

location / {
    try_files $uri $uri/ /index.php?$query_string;
}

location ~ \.php$ {
    fastcgi_pass unix:/var/run/php-fpm/php-fpm.sock;
    fastcgi_index index.php;
    fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
    include fastcgi_params;
}

}

  1. #安裝Composer

Composer 是PHP 專案的依賴管理工具,Laravel 專案的部署需要用到它。

$ curl -sS https://getcomposer.org/installer | php    # 下載並安裝Composer
$ mv composer.phar /usr/local/bin/composer    # 移動Composer 執行檔到/ usr/local/bin 目錄

  1. 克隆Laravel 專案

將Laravel 專案複製到伺服器上,並安裝其依賴:

$ git clone https ://github.com/laravel/laravel.git    # 複製Laravel 專案
$ cd laravel/
$ composer install    # 安裝Laravel 專案依賴

在Laravel 專案目錄下,將.env.example 檔案重新命名為.env,並修改其中的設定資訊:

APP_NAME=YourAppName

APP_ENV=production
APP_KEY= base64:XxxXxxXxxXxxXxxXxxXxxXxxXxxXxxXxxXxxXxxXxx=
APP_DEBUG=false
APP_URL=http://yourdomain.com    #請替換為您的網域名稱或IP

#DB_sql; ##DB_HOST=127.0.0.1    # 此處填入您的MySQL 資料庫位址

DB_PORT=3306

DB_DATABASE=your_database_name    # 此處填入您的資料庫名稱
DB_USERNAME=username_cm_ 名
DB_PASSWORD=your_database_password    # 此處填寫您的資料庫密碼


執行Laravel 專案

  1. 透過以下指令即可在Nginx 上啟動Laravel 專案:
$ sudo systemctl start nginx    # 啟動Nginx 伺服器

$ sudo systemctl start mysql    # 啟動MySQL 資料庫

$ sudo systemctl start php-fpm  #  # 啟動服務庫

$ sudo systemctl start php-fpm.網域或IP,如果顯示Laravel 的歡迎介面,則表示專案部署成功。

部署實務中的一些問題與建議

  1. 如果您的伺服器被設定了安全性群組規則,則需要確保入站規則中的TCP 連接埠80 (Nginx 預設的HTTP 連接埠)和TCP 連接埠22(SSH 連接埠)已經開放。
    在 Laravel 專案部署過程中,您可能會遇到檔案讀寫權限的問題。可用以下指令解決:
  • $ sudo chown -R nginx:nginx /path/to/laravel    # 更改Laravel 專案目錄的使用者權限
  •  $ sudo chmod -R 755 /path/to/laravel    $ sudo chmod -R 755 /path/to/laravel    #更改Laravel 專案目錄的讀寫權限

    建議將資料庫、伺服器等敏感資訊儲存在.env 檔案中,並將其加入.gitignore 檔案中,避免提交到程式碼庫中而造成訊息洩漏。

  • 總結:LNMP 是一組高效且穩定的 Web 伺服器架構,可用於 Laravel 專案的部署。本文介紹了配置 LNMP 架構、安裝 Composer 工具、複製並配置 Laravel 專案、啟動 Laravel 專案等步驟。部署實務中可以遵循安全、快速、靈活的原則,解決專案中出現的問題。

以上是詳細介紹LNMP架構下Laravel 專案的部署及配置流程的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
如何在Laravel中構建具有高級功能的寧靜API?如何在Laravel中構建具有高級功能的寧靜API?Mar 11, 2025 pm 04:13 PM

本文指導建立強大的Laravel Restful Apis。 它涵蓋項目設置,資源管理,數據庫交互,序列化,身份驗證,授權,測試和關鍵的安全性最佳實踐。 解決可伸縮性chall

如何在Laravel中實施OAuth2身份驗證和授權?如何在Laravel中實施OAuth2身份驗證和授權?Mar 12, 2025 pm 05:56 PM

本文詳細介紹了Laravel實施OAuth 2.0身份驗證和授權。 它涵蓋了使用League/oauth2-server或提供商特定解決方案的軟件包,強調數據庫設置,客戶端註冊,授權服務器Configu

如何使用Laravel的組件來創建可重複使用的UI元素?如何使用Laravel的組件來創建可重複使用的UI元素?Mar 17, 2025 pm 02:47 PM

本文討論了使用組件在Laravel中創建和自定義可重複使用的UI元素,從而為組織提供最佳實踐並建議增強包裝。

在雲原生環境中使用Laravel的最佳實踐是什麼?在雲原生環境中使用Laravel的最佳實踐是什麼?Mar 14, 2025 pm 01:44 PM

本文討論了在雲本地環境中部署Laravel的最佳實踐,重點是可擴展性,可靠性和安全性。關鍵問題包括容器化,微服務,無狀態設計和優化策略。

如何在Laravel中創建和使用自定義刀片指令?如何在Laravel中創建和使用自定義刀片指令?Mar 17, 2025 pm 02:50 PM

本文討論了Laravel中的創建和使用自定義刀片指令以增強模板。它涵蓋了定義指令,在模板中使用它們,並在大型項目中管理它們,強調了改進的代碼可重複性和R等好處

如何在Laravel中創建和使用自定義驗證規則?如何在Laravel中創建和使用自定義驗證規則?Mar 17, 2025 pm 02:38 PM

本文討論了Laravel中的創建和使用自定義驗證規則,提供了定義和實施的步驟。它突出了諸如可重複性和特異性之類的好處,並提供了擴展Laravel驗證系統的方法。

Laravel vs. Symfony:哪個適合您的Web應用程序?Laravel vs. Symfony:哪個適合您的Web應用程序?Mar 10, 2025 pm 01:34 PM

在選擇PHP框架方面,Laravel和Symfony是最受歡迎和廣泛使用的選項之一。每個框架都為桌子帶來了自己的理念,特徵和優勢,使它們適合不同的項目和用例

在Laravel中處理文件上傳和雲存儲的最佳方法是什麼?在Laravel中處理文件上傳和雲存儲的最佳方法是什麼?Mar 12, 2025 pm 05:54 PM

本文探討了Laravel中最佳的文件上傳和雲存儲策略。 它檢查本地存儲與雲提供商(AWS S3,Google Cloud,Azure,Digitalocean),強調安全性(驗證,消毒,HTTPS)和Performance Opti

See all articles

熱AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover

AI Clothes Remover

用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool

Undress AI Tool

免費脫衣圖片

Clothoff.io

Clothoff.io

AI脫衣器

AI Hentai Generator

AI Hentai Generator

免費產生 AI 無盡。

熱門文章

R.E.P.O.能量晶體解釋及其做什麼(黃色晶體)
3 週前By尊渡假赌尊渡假赌尊渡假赌
R.E.P.O.最佳圖形設置
3 週前By尊渡假赌尊渡假赌尊渡假赌
R.E.P.O.如果您聽不到任何人,如何修復音頻
3 週前By尊渡假赌尊渡假赌尊渡假赌

熱工具

ZendStudio 13.5.1 Mac

ZendStudio 13.5.1 Mac

強大的PHP整合開發環境

EditPlus 中文破解版

EditPlus 中文破解版

體積小,語法高亮,不支援程式碼提示功能

MantisBT

MantisBT

Mantis是一個易於部署的基於Web的缺陷追蹤工具,用於幫助產品缺陷追蹤。它需要PHP、MySQL和一個Web伺服器。請查看我們的演示和託管服務。

SublimeText3 Linux新版

SublimeText3 Linux新版

SublimeText3 Linux最新版

mPDF

mPDF

mPDF是一個PHP庫,可以從UTF-8編碼的HTML產生PDF檔案。原作者Ian Back編寫mPDF以從他的網站上「即時」輸出PDF文件,並處理不同的語言。與原始腳本如HTML2FPDF相比,它的速度較慢,並且在使用Unicode字體時產生的檔案較大,但支援CSS樣式等,並進行了大量增強。支援幾乎所有語言,包括RTL(阿拉伯語和希伯來語)和CJK(中日韓)。支援嵌套的區塊級元素(如P、DIV),