在Debian上部署Laravel并不難,只要按照正確的步驟進行操作,通??梢皂樌瓿?。以下是一個基本的部署指南,以及一些可能遇到的問題和解決方法。
sudo apt update
sudo apt upgrade
sudo apt install nginx
sudo systemctl status nginx
sudo apt install php php-cli php-common php-json php-gmp php-fpm php-xmlrpc php-bcmath php-imagick php-curl php-zip php-gd php-mysql php-xml php-mbstring php-xmlrpc php-intl php-sqlite3
sudo systemctl status php8.2-fpm
# 添加MariaDB存儲庫
wget https://downloads.mariadb.com/MariaDB/mariadb_repo_setup
chmod +x mariadb_repo_setup
sudo ./mariadb_repo_setup
sudo apt install mariadb-server
sudo mysql_secure_installation
curl -sS https://getcomposer.org/installer | php
sudo mv composer.phar /usr/local/bin/composer
composer --version
composer create-project laravel/laravel example-app
cd example-app
sudo nano /etc/nginx/conf.d/example-app.conf
添加以下內容:
server {
listen 80;
listen [::]:80;
server_name example-app.local;
root /home/david/example-app/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 ~ \.php$ {
include snippets/fastcgi-php.conf;
fastcgi_pass unix:/var/run/php/php8.2-fpm.sock;
}
location ~ /\.ht {
deny all;
}
}
sudo systemctl restart nginx
確保 storage
和 bootstrap/cache
目錄有寫權限:
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
檢查Nginx配置文件語法:
sudo nginx -t
查看Nginx日志文件:
tail -f /var/log/nginx/error.log
確保安裝了Laravel所需的PHP擴展,并在 php.ini
文件中啟用它們。
如果出現500錯誤,檢查Nginx和Laravel日志文件:
tail -f /var/log/nginx/error.log
tail -f /path/to/your/laravel/project/storage/logs/laravel.log
通過以上步驟,你應該能夠在Debian上成功部署Laravel應用。如果在部署過程中遇到問題,可以參考上述常見問題的解決方法,或者查閱相關的文檔和社區支持。