在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应用。如果在部署过程中遇到问题,可以参考上述常见问题的解决方法,或者查阅相关的文档和社区支持。