目錄
2。上傳您的Laravel申請
3。配置環境和權限
4。設置Web服務器(NGINX示例)
5。運行遷移並優化
6。設置隊列工人和調度程序(可選)
最後筆記
首頁 php框架 Laravel 如何將Laravel應用程序部署到服務器?

如何將Laravel應用程序部署到服務器?

Jul 31, 2025 am 03:52 AM

安裝所需的服務器軟件,包括NGINX,PHP 8.1,作曲家和數據庫; 2。通過git或sftp上傳Laravel應用程序,並運行Composer install-Optimize-autoloader -no-dev; 3。使用生產設置配置.env,生成應用程序密鑰,並使用Chown和Chmod設置適當的權限; 4。使用正確的服務器塊和重新加載配置點NGINX到公共目錄; 5。運行PHP Artisan遷移-Force和Cache Config,Route和View Files; 6。與主管設立隊列工人,並安排Cron工作,以供PHP Artisan日程安排:Run;始終禁用App_debug,使用緩存,監視日誌和備份數據庫,以確保安全,優化的生產環境。

如何將Laravel應用程序部署到服務器?

將Laravel應用程序部署到服務器中涉及幾個關鍵步驟,以確保您的應用在生產環境中平穩運行。這是一份實用指南,可以幫助您完成正確的操作。

如何將Laravel應用程序部署到服務器?

1。準備服務器環境

在上傳您的Laravel應用程序之前,請確保您的服務器已安裝了所需的軟件:

  • Web服務器:Apache或nginx(建議為Laravel使用NGINX)
  • PHP :版本8.1或更高版本(檢查Laravel的版本要求)
  • 數據庫:MySQL,PostgreSQL或SQLITE
  • 作曲家:用於安裝PHP依賴項
  • git (可選,但有助於部署)
  • ssl/tls (通過讓我們加密,for https)

例如,在帶有nginx的Ubuntu上:

如何將Laravel應用程序部署到服務器?
 sudo apt更新
sudo apt安裝nginx php-fpm php-mysql php-curl php-mbstring php-xml php-zip作曲家

另外,如果使用apache,請確保啟用mod_rewrite


2。上傳您的Laravel申請

有幾種方法可以在服務器上獲取代碼:

如何將Laravel應用程序部署到服務器?
  • git克隆(推薦用於生產):

     git clone your-repo-url.git/var/www/your site
  • SFTP/SCP :直接從本地計算機上傳文件。

文件在服務器上後,轉到您的應用程序的根目錄並安裝依賴項:

作曲家安裝 - 優化 -  autoloader-no-dev

--no-dev Flag跳過開發軟件包,可提高性能和安全性。


3。配置環境和權限

Laravel使用.env文件進行特定環境設置。

  • 複製.env.example.env

     cp .env.example .env
  • 使用您的生產設置進行編輯.env

     app_env =生產
    app_debug = false
    app_url = https://yourdomain.com
    db_database = your_db_name
    db_username = your_db_user
    db_password = your_db_password

生成應用程序密鑰:

 PHP手工鑰匙:生成

設置適當的文件權限:

 sudo chown -r www-data:www-data/var/www/your stite
sudo chmod -r 755存儲bootstrap/cache

4。設置Web服務器(NGINX示例)

將您的Web服務器指向Laravel的public目錄。

創建一個nginx配置文件:

伺服器 {
    聽80;
    server_name yourdomain.com;
    root/var/www/your-Site/public;

    索引index.php index.html;

    地點 / {
        try_files $ uri $ uri / / index.php?jquery_string;
    }

    位置〜\ .php $ {
        fastcgi_pass unix:/var/run/php/php8.1-fpm.sock;
        fastcgi_index index.php;
        fastcgi_param script_filename $ realpath_root $ fastcgi_script_name;
        包括fastcgi_params;
    }
}

啟用網站並重新加載nginx:

 sudo ln -s/etc/nginx/sites-abailable/your site/etc/etc/nginx/sites-onabled/啟用/
sudo nginx -t && sudo systemctl reload nginx

5。運行遷移並優化

運行您的數據庫遷移:

 PHP工匠遷移-Force

生產中需要--force標誌,以防止意外提示。

優化應用程序以進行性能:

 PHP工匠配置:緩存
PHP工匠路線:緩存
PHP工匠視圖:緩存

避免運行storage:link如果您不使用符號鏈接進行上傳。


6。設置隊列工人和調度程序(可選)

如果您的應用程序使用隊列(例如,帶REDIS或數據庫驅動程序),請運行隊列工作:

 PHP工匠隊列:工作 -  daemon

使用主管保持運行:

 [程序:Laravel-Worker]
命令= php/var/www/your-site/artisan隊列:工作-sleep = 3  -  tries = 3
用戶= www-data
autostart = true
autorestart = true

對於計劃的任務,請將其添加到您的crontab:

 * * * * * CD/var/www/your-Site && php工匠時間表:運行>>/dev/null 2>&1

最後筆記

  • 始終設置APP_DEBUG=false在生產中。
  • 使用CDN和緩存(Redis,Memcached)以提高性能。
  • 監視日誌: storage/logs/laravel.log
  • 定期備份數據庫。

基本上,這是關於在服務器上獲取代碼,設置正確的配置,保護環境並為生產優化。並不復雜,但很容易錯過一步。

以上是如何將Laravel應用程序部署到服務器?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

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

熱AI工具

Undress AI Tool

Undress AI Tool

免費脫衣圖片

Undresser.AI Undress

Undresser.AI Undress

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

AI Clothes Remover

AI Clothes Remover

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

Clothoff.io

Clothoff.io

AI脫衣器

Video Face Swap

Video Face Swap

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

熱工具

記事本++7.3.1

記事本++7.3.1

好用且免費的程式碼編輯器

SublimeText3漢化版

SublimeText3漢化版

中文版,非常好用

禪工作室 13.0.1

禪工作室 13.0.1

強大的PHP整合開發環境

Dreamweaver CS6

Dreamweaver CS6

視覺化網頁開發工具

SublimeText3 Mac版

SublimeText3 Mac版

神級程式碼編輯軟體(SublimeText3)

熱門話題

Laravel 教程
1604
29
PHP教程
1510
276
Laravel中的配置緩存是什麼? Laravel中的配置緩存是什麼? Jul 27, 2025 am 03:54 AM

Laravel的配置緩存通過合併所有配置文件為一個緩存文件來提升性能。在生產環境中啟用配置緩存可減少每次請求時的I/O操作和文件解析,從而加快配置加載速度;1.應在部署應用、配置穩定且無需頻繁更改時啟用;2.啟用後修改配置需重新運行phpartisanconfig:cache才會生效;3.避免在配置文件中使用依賴運行時條件的動態邏輯或閉包;4.排查問題時應先清除緩存、檢查.env變量並重新緩存。

在Laravel生成命名路線的URL。 在Laravel生成命名路線的URL。 Jul 16, 2025 am 02:50 AM

在Laravel中生成命名路由的URL最常用方法是使用route()輔助函數,它可根據路由名稱自動匹配路徑並處理參數綁定。 1.在控制器或視圖中傳入路由名稱和參數,如route('user.profile',['id'=>1]);2.多參數時也只需傳數組,順序不影響匹配,如route('user.post.show',['id'=>1,'postId'=>10]);3.在Blade模板中可直接嵌入鏈接,如查看資料;4.可選參數未提供時不顯示,如route('user.post',

處理Laravel中的HTTP請求和響應。 處理Laravel中的HTTP請求和響應。 Jul 16, 2025 am 03:21 AM

在Laravel中處理HTTP請求和響應的核心在於掌握請求數據獲取、響應返回和文件上傳。 1.接收請求數據可通過類型提示注入Request實例並使用input()或魔術方法獲取字段,結合validate()或表單請求類進行驗證;2.返迴響應支持字符串、視圖、JSON、帶狀態碼和頭部的響應及重定向操作;3.處理文件上傳時需使用file()方法並結合store()存儲文件,上傳前應驗證文件類型和大小,存儲路徑可保存至數據庫。

如何在Laravel執行請求驗證? 如何在Laravel執行請求驗證? Jul 16, 2025 am 03:03 AM

在Laravel中進行請求驗證有兩種主要方法:控制器驗證和表單請求類。 1.控制器中使用validate()方法適合簡單場景,直接傳入規則並自動返回錯誤;2.使用FormRequest類適用於復雜或複用場景,通過Artisan創建類並在rules()中定義規則,實現代碼解耦與復用;3.可通過messages()自定義錯誤提示,提升用戶體驗;4.通過attributes()定義字段別名,使錯誤信息更友好;兩種方式各有優劣,應根據項目需求選擇合適方案。

了解Laravel Breeze和Jetstream之間的差異。 了解Laravel Breeze和Jetstream之間的差異。 Jul 15, 2025 am 12:43 AM

LaravelBreeze和Jetstream的主要區別在於定位和功能。 1.核心定位上,Breeze是輕量級認證腳手架,適合小型項目或自定義前端需求;Jetstream提供完整用戶系統,包含團隊管理、個人資料設置、API支持及雙因素驗證等功能,適合中大型應用。 2.前端技術棧方面,Breeze默認使用Blade Tailwind,偏向傳統服務端渲染;Jetstream支持Livewire或Inertia.js(結合Vue/React),更適合現代SPA架構。 3.安裝與定制上,Breeze更簡單易用

解釋Laravel雄辯的範圍。 解釋Laravel雄辯的範圍。 Jul 26, 2025 am 07:22 AM

Laravel的EloquentScopes是封裝常用查詢邏輯的工具,分為本地作用域和全局作用域。 1.本地作用域以scope開頭的方法定義,需顯式調用,如Post::published();2.全局作用域自動應用於所有查詢,常用於軟刪除或多租戶系統,需實現Scope接口並在模型中註冊;3.作用域可帶參數,如按年份或月份篩選文章,調用時傳入對應參數;4.使用時注意命名規範、鍊式調用、臨時禁用及組合擴展,提升代碼清晰度與復用性。

在Laravel中生成和使用數據庫工廠。 在Laravel中生成和使用數據庫工廠。 Jul 16, 2025 am 02:05 AM

數據庫工廠是Laravel中用於生成模型假數據的工具。它通過定義字段規則快速創建測試或開發所需的數據,例如使用phpartisanmake:factory生成工廠文件後,在definition()方法中設置如name、email等字段的生成邏輯,並通過User::factory()->create()創建記錄;1.支持批量生成數據,如User::factory(10)->create();2.可使用make()生成未存庫的數據數組;3.允許臨時覆蓋字段值;4.支持關聯關係,如自動創建

使用翻譯員立面在Laravel中進行定位。 使用翻譯員立面在Laravel中進行定位。 Jul 21, 2025 am 01:06 AM

thetranslatorfacadeinlaravelisused forlocalization byfetchingTranslatingStringSandSwitchingLanguagesAtruntime.Touseit,storetranslationslationstringsinlanguagefilesunderthelangderthelangdirectory(例如,ES,ES,FR),thenretreiveTreivEthemvialang :: thenretRievEtheMvialang :: get()

See all articles