在Debian上配置Nginx以運行Laravel應用程序涉及幾個步驟。以下是一個詳細的指南:
首先,更新你的包列表并安裝Nginx:
sudo apt update
sudo apt install nginx
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
編輯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
創建一個新的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項目的實際路徑。
創建一個符號鏈接以啟用新的服務器塊配置:
sudo ln -s /etc/nginx/sites-available/yourdomain.com /etc/nginx/sites-enabled/
測試Nginx配置文件是否有語法錯誤:
sudo nginx -t
如果沒有錯誤,重新加載Nginx服務:
sudo systemctl reload nginx
確保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 {} \;
如果你希望使用HTTPS,可以使用Let’s Encrypt來配置SSL證書:
sudo apt install certbot python3-certbot-nginx
sudo certbot --nginx -d yourdomain.com -d www.yourdomain.com
按照提示完成SSL證書的安裝和配置。
最后,重啟Nginx服務以確保所有更改生效:
sudo systemctl restart nginx
現在,你的Laravel應用程序應該可以通過瀏覽器訪問了。