在Linux系統中部署Laravel項目需要經過以下幾個步驟:
在開始之前,請確保您的Linux系統已經安裝了以下軟件:
將您的Laravel項目文件上傳到服務器。您可以使用FTP、SCP或其他文件傳輸方法。
在項目根目錄下運行以下命令,以安裝項目所需的PHP擴展和依賴:
composer install
復制.env.example
文件并將其重命名為.env
:
cp .env.example .env
使用文本編輯器打開.env
文件,然后配置數據庫連接信息和其他相關設置。
運行以下命令生成Laravel應用密鑰:
php artisan key:generate
這將在.env
文件中設置APP_KEY
值。
如果您的應用程序需要設置數據庫表結構和初始數據,可以運行以下命令:
php artisan migrate
php artisan db:seed
根據您選擇的Web服務器(Nginx或Apache),配置虛擬主機以指向Laravel項目的public
目錄。以下是一個簡單的Nginx配置示例:
server {
listen 80;
server_name example.com;
root /path/to/your/laravel/project/public;
add_header X-Frame-Options "SAMEORIGIN";
add_header X-Content-Type-Options "nosniff";
index index.php;
charset utf-8;
location / {
try_files $uri $uri/ /index.php?$query_string;
}
location = /favicon.ico { access_log off; log_not_found off; }
location = /robots.txt { access_log off; log_not_found off; }
error_page 404 /index.php;
location ~ \.php$ {
fastcgi_pass unix:/var/run/php/php7.4-fpm.sock;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME $realpath_root$fastcgi_script_name;
include fastcgi_params;
}
location ~ /\.(?!well-known).* {
deny all;
}
}
確保將server_name
和root
指令更改為適當的值。
對于Nginx,運行:
sudo service nginx restart
對于Apache,運行:
sudo service apache2 restart
為了確保Laravel應用程序正常運行,您需要設置正確的文件權限。在項目根目錄下運行以下命令:
sudo chown -R www-data:www-data storage bootstrap/cache
sudo chmod -R 755 storage bootstrap/cache
這將使Web服務器用戶(通常是www-data
)擁有storage
和bootstrap/cache
目錄的所有權,并設置適當的權限。
現在,您的Laravel項目應該已經在Linux服務器上部署成功并可以訪問了。如果遇到任何問題,請查看Laravel日志(位于storage/logs
目錄下)以獲取詳細錯誤信息。