將Laravel應用程序部署到生產環境涉及多個步驟,包括設置服務器、配置Web服務器、安裝依賴項、優化性能等。以下是一個基本的指南,幫助你將Laravel應用程序部署到生產環境:
確保你有一個運行Linux的服務器,并且已經安裝了必要的軟件,如Nginx或Apache、PHP和MySQL。
sudo apt update
sudo apt install nginx
sudo apt install php-fpm php-mysql php-curl php-xml php-gd php-mbstring php-zip
sudo apt install mysql-server
創建一個新的Nginx配置文件,例如 /etc/nginx/sites-available/yourdomain.com:
server {
listen 80;
server_name yourdomain.com www.yourdomain.com;
root /var/www/yourdomain.com/public;
index index.php index.html index.htm;
location / {
try_files $uri $uri/ /index.php?$query_string;
}
location ~ \.php$ {
include snippets/fastcgi-php.conf;
fastcgi_pass unix:/var/run/php/php7.4-fpm.sock; # 根據你的PHP版本調整
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
include fastcgi_params;
}
location ~ /\.ht {
deny all;
}
}
啟用配置文件:
sudo ln -s /etc/nginx/sites-available/yourdomain.com /etc/nginx/sites-enabled/
sudo nginx -t
sudo systemctl restart nginx
將你的Laravel項目克隆到服務器上:
cd /var/www
git clone https://github.com/yourusername/your-laravel-project.git
cd your-laravel-project
composer install --no-dev --optimize-autoloader
確保Laravel的存儲和緩存目錄可寫:
sudo chown -R www-data:www-data /var/www/yourdomain.com/storage
sudo chown -R www-data:www-data /var/www/yourdomain.com/bootstrap/cache
復制 .env.example 文件并編輯 .env 文件:
cp .env.example .env
nano .env
設置數據庫連接、郵件驅動等配置。
生成應用密鑰:
php artisan key:generate
運行數據庫遷移和種子(如果需要):
php artisan migrate
php artisan db:seed
確保PHP的OPcache已啟用。編輯 /etc/php/7.4/fpm/php.ini 或 /etc/php/7.4/cli/php.ini:
[opcache]
zend_extension=opcache.so
opcache.enable=1
opcache.memory_consumption=128
opcache.interned_strings_buffer=8
opcache.max_accelerated_files=4000
opcache.revalidate_freq=60
配置Laravel隊列以處理后臺任務:
php artisan queue:work
啟動Nginx和PHP-FPM服務:
sudo systemctl start nginx
sudo systemctl start php7.4-fpm
確保防火墻允許HTTP和HTTPS流量:
sudo ufw allow 'Nginx Full'
使用Let’s Encrypt或其他證書頒發機構配置SSL證書:
sudo apt install certbot python3-certbot-nginx
sudo certbot --nginx -d yourdomain.com -d www.yourdomain.com
配置日志記錄和監控工具,如Monit、New Relic或ELK Stack,以監控應用程序的性能和健康狀況。
通過以上步驟,你應該能夠成功地將Laravel應用程序部署到生產環境。根據具體需求,可能還需要進行其他配置和優化。