搜尋
首頁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 Blade在全棧項目中進行前端模板使用Laravel Blade在全棧項目中進行前端模板May 01, 2025 am 12:24 AM

laravelbladeenhancesfrontendtemplatinginflatinginflationll-stackprojectsbyferingCleanSyntaxandaxandpoperfelfulfeatures.1)itallowsforeasyvariableasyvariabledisplayandControlstructures.2)bladesuportsuportsuportscreatingingingingingingingingingingangingandredreingscomponents components components components,aidinginmanagingcomplexuis.3)

使用Laravel:實用教程構建全堆棧應用程序使用Laravel:實用教程構建全堆棧應用程序May 01, 2025 am 12:23 AM

laravelisidealforll-stackapplicationsduetoitselegantsyntax,complastissionecosystem和perperatedfulfeatures.1)useeloquentormforintuivelbackenddatamanipulation,butavoidn 1queryissues.2)

您使用哪種工具來保持遠程角色保持連接?您使用哪種工具來保持遠程角色保持連接?May 01, 2025 am 12:21 AM

forremotework,iusezoomforvideOcalls,Slackformessing,trelloforprojectmanagement,and giThubForCodeCollaboration.1)Zoomisreliable forlailible forlargemeetingsbuthastimelimitsonthefreeversion.2)

遠程訪問和屏幕共享:橋接技術支持的距離遠程訪問和屏幕共享:橋接技術支持的距離May 01, 2025 am 12:07 AM

remoteaccessandscreensharingworkbyestablishingasecure,real-timeconnectionbetweencomputerssusterprotococolslikerdp,vnc,orproprietarysoltions.bestpracticessinclude:1)構建thrustthroustthroustthroustthroudthrouftthroughclearcommunication,2)2)SeneruringSecuringSecurityWithStrongentStrongentStrongentStrongentscorneptermeptimptermeptimplemptymentponempts和Dat

值得升級到最新的Laravel版本嗎?值得升級到最新的Laravel版本嗎?May 01, 2025 am 12:02 AM

絕對值得考慮升級到最新的Laravel版本。 1)新功能和改進,如匿名遷移,提升了開發效率和代碼質量。 2)安全性提升,修復了已知漏洞。 3)社區支持增強,提供了更多資源。 4)需評估兼容性,確保平穩升級。

Laravel 日誌與錯誤監控:Sentry 和 Bugsnag 集成Laravel 日誌與錯誤監控:Sentry 和 Bugsnag 集成Apr 30, 2025 pm 02:39 PM

在Laravel中集成Sentry和Bugsnag可以提高應用的穩定性和性能。 1.在composer.json中添加SentrySDK。 2.在config/app.php中添加Sentry服務提供者。 3.在.env文件中配置SentryDSN。 4.在App\Exceptions\Handler.php中添加Sentry錯誤報告。 5.使用Sentry捕獲並報告異常,並添加額外上下文信息。 6.在App\Exceptions\Handler.php中添加Bugsnag錯誤報告。 7.使用Bugsnag監

為什麼 Laravel 依然是 PHP 開發者的首選框架?為什麼 Laravel 依然是 PHP 開發者的首選框架?Apr 30, 2025 pm 02:36 PM

Laravel依然是PHP开发者的首选框架,因为它在开发体验、社区支持和生态系统上表现卓越。1)其优雅的语法和丰富的功能集,如EloquentORM和Blade模板引擎,提升了开发效率和代码可读性。2)庞大的社区提供了丰富的资源和支持。3)尽管学习曲线较陡且可能导致项目复杂性增加,但通过合理配置和优化,Laravel能显著提升应用性能。

Laravel 實時聊天應用:WebSocket 與 Pusher 結合Laravel 實時聊天應用:WebSocket 與 Pusher 結合Apr 30, 2025 pm 02:33 PM

在Laravel中構建實時聊天應用需要使用WebSocket和Pusher。具體步驟包括:1)在.env文件中配置Pusher信息;2)設置broadcasting.php文件中的廣播驅動為Pusher;3)使用LaravelEcho訂閱Pusher頻道並監聽事件;4)通過PusherAPI發送消息;5)實現私有頻道和用戶認證;6)進行性能優化和調試。

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脫衣器

Video Face Swap

Video Face Swap

使用我們完全免費的人工智慧換臉工具,輕鬆在任何影片中換臉!

熱工具

WebStorm Mac版

WebStorm Mac版

好用的JavaScript開發工具

MinGW - Minimalist GNU for Windows

MinGW - Minimalist GNU for Windows

這個專案正在遷移到osdn.net/projects/mingw的過程中,你可以繼續在那裡關注我們。 MinGW:GNU編譯器集合(GCC)的本機Windows移植版本,可自由分發的導入函式庫和用於建置本機Windows應用程式的頭檔;包括對MSVC執行時間的擴展,以支援C99功能。 MinGW的所有軟體都可以在64位元Windows平台上運作。

SAP NetWeaver Server Adapter for Eclipse

SAP NetWeaver Server Adapter for Eclipse

將Eclipse與SAP NetWeaver應用伺服器整合。

mPDF

mPDF

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

Safe Exam Browser

Safe Exam Browser

Safe Exam Browser是一個安全的瀏覽器環境,安全地進行線上考試。該軟體將任何電腦變成一個安全的工作站。它控制對任何實用工具的訪問,並防止學生使用未經授權的資源。