溫馨提示×

Laravel如何在Debian上配置Nginx

小樊
54
2025-08-22 07:27:33
欄目: 智能運維

在Debian上配置Nginx以運行Laravel應用程序涉及幾個步驟。以下是一個詳細的指南:

1. 安裝Nginx

首先,更新你的包列表并安裝Nginx:

sudo apt update
sudo apt install nginx

2. 安裝PHP和必要的PHP擴展

Laravel需要PHP和一些特定的PHP擴展。你可以使用以下命令來安裝它們:

sudo apt install php-fpm php-mysql php-curl php-xml php-mbstring php-zip php-gd php-mbstring php-xmlrpc php-snmp php-soap php-ldap php-odbc php-pdo php-mysqlnd

3. 配置PHP-FPM

編輯PHP-FPM配置文件以確保它與Nginx一起工作:

sudo nano /etc/php/7.4/fpm/pool.d/www.conf

找到以下行并進行修改:

;listen = /run/php/php7.4-fpm.sock
listen = /var/run/php/php7.4-fpm.sock

然后重啟PHP-FPM服務:

sudo systemctl restart php7.4-fpm

4. 配置Nginx

創建一個新的Nginx服務器塊配置文件來處理你的Laravel應用程序:

sudo nano /etc/nginx/sites-available/yourdomain.com

添加以下配置:

server {
    listen 80;
    server_name yourdomain.com www.yourdomain.com;

    root /var/www/yourdomain.com/public;
    index index.php index.html index.htm;

    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;
        fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
        include fastcgi_params;
    }

    location ~ /\.ht {
        deny all;
    }
}

yourdomain.com替換為你的實際域名,并將/var/www/yourdomain.com/public替換為你的Laravel項目的實際路徑。

5. 啟用Nginx服務器塊

創建一個符號鏈接以啟用新的服務器塊配置:

sudo ln -s /etc/nginx/sites-available/yourdomain.com /etc/nginx/sites-enabled/

6. 測試Nginx配置

測試Nginx配置文件是否有語法錯誤:

sudo nginx -t

如果沒有錯誤,重新加載Nginx服務:

sudo systemctl reload nginx

7. 設置文件權限

確保Nginx用戶(通常是www-data)有權訪問你的Laravel項目目錄:

sudo chown -R www-data:www-data /var/www/yourdomain.com
sudo find /var/www/yourdomain.com -type f -exec chmod 644 {} \;
sudo find /var/www/yourdomain.com -type d -exec chmod 755 {} \;

8. 配置SSL(可選)

如果你希望使用HTTPS,可以使用Let’s Encrypt來配置SSL證書:

sudo apt install certbot python3-certbot-nginx
sudo certbot --nginx -d yourdomain.com -d www.yourdomain.com

按照提示完成SSL證書的安裝和配置。

9. 重啟Nginx

最后,重啟Nginx服務以確保所有更改生效:

sudo systemctl restart nginx

現在,你的Laravel應用程序應該可以通過瀏覽器訪問了。

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