在Linux環境下部署Laravel應用程序需要遵循以下步驟:
安裝必要的軟件:
安裝PHP擴展: Laravel需要以下PHP擴展:OpenSSL, PDO, Mbstring, Tokenizer, XML, Ctype和JSON??梢允褂靡韵旅畎惭b這些擴展:
sudo apt-get install php-common php-cli php-fpm php-json php-pdo php-mysql php-zip php-gd php-mbstring php-curl php-xml php-pear php-bcmath
安裝并配置Web服務器:
/etc/nginx/sites-available/laravel
,并添加以下內容:server {
listen 80;
server_name example.com; # 替換為您的域名
root /path/to/your/laravel/project; # 替換為您的Laravel項目路徑
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; # 根據您的PHP版本更改
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME $realpath_root$fastcgi_script_name;
include fastcgi_params;
}
location ~ /\.(?!well-known).* {
deny all;
}
}
mod_rewrite
模塊,并在.htaccess
文件中添加以下內容:<IfModule mod_rewrite.c>
<IfModule mod_negotiation.c>
Options -MultiViews -Indexes
</IfModule>
RewriteEngine On
# Handle Authorization Header
RewriteCond %{HTTP:Authorization} .
RewriteRule .* - [E=HTTP_AUTHORIZATION:%{HTTP:Authorization}]
# Redirect Trailing Slashes If Not A Folder...
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_URI} (.+)/$
RewriteRule ^ %1 [L,R=301]
# Handle Front Controller...
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^ index.php [L]
</IfModule>
sudo service nginx restart # 對于Nginx
sudo service apache2 restart # 對于Apache
設置文件權限:
sudo chown -R www-data:www-data /path/to/your/laravel/project/storage
sudo chown -R www-data:www-data /path/to/your/laravel/project/bootstrap/cache
配置數據庫:
.env
文件中設置數據庫連接信息:DB_CONNECTION=mysql
DB_HOST=127.0.0.1
DB_PORT=3306
DB_DATABASE=your_database_name
DB_USERNAME=your_database_user
DB_PASSWORD=your_database_password
php artisan migrate
優化Laravel:
php artisan key:generate
php artisan config:cache
php artisan route:cache
php artisan view:cache
現在,您的Laravel應用程序應該在Linux環境下成功部署并運行。訪問您在Web服務器配置中設置的域名,您應該能看到Laravel應用程序的主頁。