溫馨提示×

Laravel在Ubuntu上如何部署應用

小樊
47
2025-09-08 21:28:25
欄目: 智能運維

在Ubuntu上部署Laravel應用需要經過以下幾個步驟:

  1. 安裝必要的軟件包

首先,確保你的Ubuntu系統已經安裝了以下軟件包:

  • Nginx(Web服務器)
  • PHP(編程語言)
  • Composer(PHP依賴管理工具)
  • MySQL或PostgreSQL(數據庫)

你可以使用以下命令安裝這些軟件包:

sudo apt-get update
sudo apt-get install nginx php-fpm php-mysql composer
  1. 配置Nginx

創建一個新的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
  1. 部署Laravel應用

將你的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
  1. 配置權限

確保storagebootstrap/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
  1. 重啟PHP-FPM服務

最后,重啟PHP-FPM服務以應用更改:

sudo systemctl restart php7.4-fpm

現在,你的Laravel應用應該已經在Ubuntu服務器上部署成功并可以訪問了。

0
亚洲午夜精品一区二区_中文无码日韩欧免_久久香蕉精品视频_欧美主播一区二区三区美女