在Ubuntu上部署Laravel應用需要經過以下幾個步驟:
首先,確保你的Ubuntu系統已經安裝了以下軟件包:
你可以使用以下命令安裝這些軟件包:
sudo apt-get update
sudo apt-get install nginx php-fpm php-mysql composer
創建一個新的Nginx配置文件,用于指向你的Laravel應用:
sudo nano /etc/nginx/sites-available/yourdomain.com
將以下內容粘貼到文件中,然后替換yourdomain.com為你的域名:
server {
listen 80;
server_name yourdomain.com;
root /var/www/yourdomain.com/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;
}
}
保存并退出文件。然后創建一個符號鏈接,將新配置文件鏈接到sites-enabled目錄:
sudo ln -s /etc/nginx/sites-available/yourdomain.com /etc/nginx/sites-enabled
檢查Nginx配置文件是否有語法錯誤:
sudo nginx -t
如果沒有錯誤,重啟Nginx服務:
sudo systemctl restart nginx
將你的Laravel應用上傳到服務器上的/var/www/yourdomain.com目錄。你可以使用SCP、SFTP或其他文件傳輸方法。
進入應用目錄,運行以下命令安裝PHP依賴:
cd /var/www/yourdomain.com
composer install --no-dev --optimize-autoloader
將.env.example文件復制為.env:
cp .env.example .env
編輯.env文件,填寫數據庫連接信息和其他配置。
生成應用密鑰:
php artisan key:generate
運行以下命令優化Laravel性能:
php artisan config:cache
php artisan route:cache
php artisan view:cache
確保storage和bootstrap/cache目錄可寫:
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
最后,重啟PHP-FPM服務以應用更改:
sudo systemctl restart php7.4-fpm
現在,你的Laravel應用應該已經在Ubuntu服務器上部署成功并可以訪問了。