1. 環境準備與配置
sudo apt update && sudo apt upgrade -y
,確保系統包為最新版本,修復已知漏洞。pdo_mysql
、tokenizer
、xml
、mbstring
、curl
、zip
、gd
、bcmath
等擴展)、Composer(PHP依賴管理工具)、Nginx/Apache(推薦Nginx,擅長靜態文件處理與反向代理)、MySQL/PostgreSQL(數據庫)。/etc/nginx/sites-available/yourdomain.com
),設置root
指向項目public
目錄,添加try_files $uri $uri/ /index.php?$query_string
轉發動態請求,配置PHP-FPM處理(fastcgi_pass unix:/var/run/php/php7.4-fpm.sock
),測試配置(sudo nginx -t
)后重啟服務。2. Laravel項目部署
/var/www/yourproject
),或使用SCP/FTP上傳本地項目文件。composer install --no-dev --optimize-autoloader
(跳過開發依賴,優化自動加載);復制.env.example
為.env
,配置數據庫連接(DB_CONNECTION=mysql
、DB_HOST=127.0.0.1
、DB_DATABASE
、DB_USERNAME
、DB_PASSWORD
)。www-data
),并調整storage
(日志、緩存)和bootstrap/cache
(編譯后的視圖/路由)目錄權限:sudo chown -R www-data:www-data /var/www/yourproject
,sudo chmod -R 755 /var/www/yourproject/storage
,sudo chmod -R 755 /var/www/yourproject/bootstrap/cache
。php artisan key:generate
,生成APP_KEY
(用于加密會話、密碼重置令牌等)。php artisan migrate
,將數據庫表結構同步到MySQL/PostgreSQL。3. 性能優化策略
sudo apt install php-opcache
,修改php.ini
設置opcache.enable=1
、opcache.memory_consumption=128
、opcache.max_accelerated_files=10000
),提升PHP腳本執行速度;使用PHP-FPM(sudo apt install php-fpm
),配置pm.max_children
(子進程數,根據服務器內存調整)、pm.start_servers
(啟動時的子進程數),優化PHP進程管理;調整Linux內核參數(如net.core.somaxconn=1024
、net.ipv4.tcp_max_syn_backlog=4096
),提升網絡并發處理能力。php artisan config:cache
,緩存配置文件)、路由緩存(php artisan route:cache
,緩存路由信息)、視圖預編譯(php artisan view:cache
,預編譯Blade模板),減少每次請求的解析開銷;使用緩存驅動(如Redis,設置CACHE_DRIVER=redis
、SESSION_DRIVER=redis
),存儲高頻訪問數據(如數據庫查詢結果、視圖內容);優化數據庫查詢,為常用字段添加索引,使用with()
方法預加載關聯數據(避免N+1查詢問題)。npm run production
),減小文件體積;啟用Gzip壓縮(Nginx配置gzip on; gzip_types text/plain text/css application/json application/javascript text/xml application/xml application/xml+rss text/javascript
),減少網絡傳輸數據量。QUEUE_CONNECTION=redis
),啟動隊列 worker(php artisan queue:work --daemon
),確保任務后臺執行。4. 安全加固措施
.env
中的APP_DEBUG
設置為false
,隱藏錯誤詳情(如堆棧跟蹤、數據庫結構),防止敏感信息泄露。storage
、bootstrap/cache
目錄可寫(www-data
用戶有寫入權限),其他目錄(如app
、config
)僅允許讀取,避免未授權修改。sudo apt install certbot python3-certbot-nginx
,執行sudo certbot --nginx -d yourdomain.com
),啟用HTTPS,加密客戶端與服務器之間的通信。.env
、.git
等敏感目錄(location ~ /\.(?!well-known).* { deny all; }
),防止惡意用戶下載配置文件或源代碼。5. 監控與維護
composer require barryvdh/laravel-debugbar --dev
),實時查看SQL查詢、路由、視圖渲染時間等指標;使用New Relic、Datadog等工具監控應用性能(如響應時間、錯誤率、服務器資源使用率),快速定位瓶頸。config/logging.php
),將日志存儲到文件(daily
格式,保留7天)或外部服務(如Papertrail、ELK Stack),便于排查問題(如500錯誤、慢查詢)。composer update laravel/framework
)、PHP(sudo apt upgrade php
)、依賴包(composer update
),修復安全漏洞并提升性能。