首先確保Debian系統及軟件包為最新版本,避免兼容性問題:
sudo apt update && sudo apt upgrade -y
Laravel需要PHP及多個擴展支持,安裝常用依賴包(以PHP 8.2為例,根據實際版本調整):
sudo apt install -y git curl php-cli php-fpm php-mysql php-zip php-gd php-mbstring php-curl php-xml php-bcmath
Composer是PHP依賴管理工具,用于安裝Laravel及項目依賴:
curl -sS https://getcomposer.org/installer | php
sudo mv composer.phar /usr/local/bin/composer
# 驗證安裝
composer --version
Laravel推薦使用Nginx,安裝并啟動服務:
sudo apt install -y nginx
sudo systemctl start nginx
sudo systemctl enable nginx # 開機自啟
創建Nginx配置文件(替換yourdomain.com
為實際域名/IP,/var/www/yourproject
為項目路徑):
sudo nano /etc/nginx/sites-available/yourdomain.com
粘貼以下內容(根據PHP版本調整fastcgi_pass
路徑,如PHP 8.2對應/run/php/php8.2-fpm.sock
):
server {
listen 80;
server_name yourdomain.com www.yourdomain.com;
root /var/www/yourproject/public;
index index.php index.html;
location / {
try_files $uri $uri/ /index.php?$query_string;
}
location ~ \.php$ {
include snippets/fastcgi-php.conf;
fastcgi_pass unix:/run/php/php8.2-fpm.sock;
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
使用Composer創建新項目(替換yourproject
為項目名稱):
cd /var/www
composer create-project --prefer-dist laravel/laravel yourproject
確保PHP-FPM以www-data
用戶運行(默認已配置,無需修改),重啟服務:
sudo systemctl restart php8.2-fpm
Laravel的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
安裝MariaDB/MySQL并創建數據庫及用戶(以MySQL為例):
sudo apt install -y mariadb-server
sudo mysql_secure_installation # 完成安全設置
登錄MySQL并執行:
CREATE DATABASE laravel_db;
CREATE USER 'laravel_user'@'localhost' IDENTIFIED BY 'your_strong_password';
GRANT ALL PRIVILEGES ON laravel_db.* TO 'laravel_user'@'localhost';
FLUSH PRIVILEGES;
EXIT;
復制.env.example
為.env
并編輯(替換數據庫信息):
cd /var/www/yourproject
cp .env.example .env
nano .env
修改以下內容(根據實際數據庫信息調整):
DB_CONNECTION=mysql
DB_HOST=127.0.0.1
DB_PORT=3306
DB_DATABASE=laravel_db
DB_USERNAME=laravel_user
DB_PASSWORD=your_strong_password
APP_ENV=production
APP_DEBUG=false
APP_KEY= # 生成密鑰后會自動填充
生成應用密鑰:
php artisan key:generate
執行遷移以創建數據庫表結構:
php artisan migrate
/etc/php/8.2/fpm/php.ini
中取消opcache.enable=1
注釋并重啟PHP-FPM。sudo apt install certbot python3-certbot-nginx
后執行sudo certbot --nginx -d yourdomain.com
。php artisan config:cache
、php artisan route:cache
、php artisan view:cache
加速應用。完成以上步驟后,通過瀏覽器訪問http://yourdomain.com
即可看到Laravel歡迎頁面。