溫馨提示×

Ubuntu環境下Laravel項目如何部署

小樊
50
2025-09-12 21:42:33
欄目: 智能運維

以下是在Ubuntu環境下部署Laravel項目的核心步驟:

一、環境準備

  1. 更新系統
    sudo apt update && sudo apt upgrade -y
    
  2. 安裝基礎組件
    • Nginx + PHP-FPM(推薦):
      sudo apt install nginx php-fpm php-mysql php-gd php-mbstring php-curl php-xml
      
    • Apache + PHP(可選):
      sudo apt install apache2 php libapache2-mod-php php-mysql
      sudo a2enmod rewrite
      
  3. 安裝Composer
    curl -sS https://getcomposer.org/installer | sudo php -- --install-dir=/usr/local/bin --filename=composer
    

二、部署Laravel項目

  1. 上傳項目代碼
    • 通過Git克隆或直接上傳至服務器目錄(如/var/www/your_project):
      git clone <倉庫地址> /var/www/your_project
      
  2. 安裝依賴
    cd /var/www/your_project
    composer install --optimize-autoloader --no-dev
    
  3. 配置環境變量
    • 復制.env.example并修改為.env,設置數據庫等參數:
      cp .env.example .env
      nano .env
      # 修改示例:
      DB_CONNECTION=mysql
      DB_HOST=127.0.0.1
      DB_DATABASE=your_db
      DB_USERNAME=your_user
      DB_PASSWORD=your_password
      
  4. 生成應用密鑰
    php artisan key:generate
    
  5. 設置文件權限
    sudo chown -R www-data:www-data storage bootstrap/cache
    sudo chmod -R 755 storage bootstrap/cache
    

三、配置Web服務器

Nginx配置

  1. 創建虛擬主機文件:
    sudo nano /etc/nginx/sites-available/your_project
    
  2. 添加以下內容(替換your_domain和路徑):
    server {
        listen 80;
        server_name your_domain.com;
        root /var/www/your_project/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:/var/run/php/php7.4-fpm.sock;
        }
        location ~ /\.ht {
            deny all;
        }
    }
    
  3. 啟用配置并重啟Nginx:
    sudo ln -s /etc/nginx/sites-available/your_project /etc/nginx/sites-enabled
    sudo nginx -t
    sudo systemctl restart nginx
    

Apache配置

  1. 創建虛擬主機文件:
    sudo nano /etc/apache2/sites-available/your_project.conf
    
  2. 添加以下內容(替換your_domain和路徑):
    <VirtualHost *:80>
        ServerName your_domain.com
        DocumentRoot /var/www/your_project/public
        <Directory /var/www/your_project/public>
            Options Indexes FollowSymLinks
            AllowOverride All
            Require all granted
        </Directory>
    </VirtualHost>
    
  3. 啟用配置并重啟Apache:
    sudo a2ensite your_project.conf
    sudo systemctl restart apache2
    

四、數據庫與優化

  1. 創建數據庫并導入數據
    sudo mysql -u root -p
    CREATE DATABASE your_db;
    USE your_db;
    SOURCE /path/to/your_project/database.sql; # 如有需要
    
  2. 執行遷移
    php artisan migrate
    
  3. 優化性能(生產環境)
    php artisan config:cache
    php artisan route:cache
    php artisan view:cache
    

五、安全與維護

  1. 啟用SSL(可選)
    使用Let’s Encrypt免費證書:
    sudo apt install certbot python3-certbot-nginx
    sudo certbot --nginx -d your_domain.com
    
  2. 設置定時任務(如隊列處理)
    sudo crontab -e
    # 添加示例(每分鐘處理隊列):
    * * * * * php /var/www/your_project/artisan queue:work
    

關鍵參考

  • Nginx配置:
  • 環境變量管理:
  • 權限設置:

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