溫馨提示×

Laravel在Linux環境如何部署

小樊
38
2025-07-25 15:52:02
欄目: 智能運維

在Linux環境下部署Laravel應用程序需要遵循以下步驟:

  1. 安裝必要的軟件:

    • PHP(建議版本7.3或更高)
    • Composer(PHP依賴管理工具)
    • Nginx或Apache Web服務器
    • MySQL或其他數據庫系統(如PostgreSQL)
  2. 安裝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
    
  3. 安裝并配置Web服務器:

    • 對于Nginx,創建一個新的站點配置文件,例如/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;
        }
    }
    
    • 對于Apache,請確保啟用了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>
    
    • 重啟Web服務器以應用更改:
    sudo service nginx restart # 對于Nginx
    sudo service apache2 restart # 對于Apache
    
  4. 設置文件權限:

    • 更改Laravel項目的存儲和緩存目錄權限,以便Web服務器可以寫入這些目錄:
    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
    
  5. 配置數據庫:

    • .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
    
  6. 優化Laravel:

    • 使用以下命令生成應用程序密鑰:
    php artisan key:generate
    
    • 使用以下命令優化Laravel配置:
    php artisan config:cache
    php artisan route:cache
    php artisan view:cache
    

現在,您的Laravel應用程序應該在Linux環境下成功部署并運行。訪問您在Web服務器配置中設置的域名,您應該能看到Laravel應用程序的主頁。

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