在Debian上部署Laravel可按以下步骤操作,遇到问题可参考对应解决方案:
更新系统
sudo apt update && sudo apt upgrade -y
安装PHP及扩展
安装PHP 7.3+及常用扩展(如php-cli、php-fpm、php-mysql、php-gd等):
sudo apt install php php-cli php-fpm php-json php-common php-mysql php-zip php-gd php-mbstring php-curl php-xml php-bcmath
安装Composer
curl -sS https://getcomposer.org/installer | php
sudo mv composer.phar /usr/local/bin/composer
创建项目
composer create-project --prefer-dist laravel/laravel your-project-name
配置Web服务器(以Nginx为例)
sudo nano /etc/nginx/sites-available/your-project-name
server {
listen 80;
server_name your-domain.com;
root /path/to/your-project-name/public;
index index.php;
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;
}
}
sudo ln -s /etc/nginx/sites-available/your-project-name /etc/nginx/sites-enabled
sudo nginx -t && sudo systemctl restart nginx
设置权限
sudo chown -R www-data:www-data /path/to/your-project-name/storage /path/to/your-project-name/bootstrap/cache
sudo chmod -R 755 /path/to/your-project-name/storage /path/to/your-project-name/bootstrap/cache
依赖错误
composer install安装依赖,或composer update更新依赖。composer.json后重新运行composer update。环境配置问题
.env文件存在并正确配置数据库连接等信息,可从.env.example复制:cp .env.example .env
php artisan key:generate
权限问题
storage或cache目录不可写,使用以下命令赋予权限:sudo chmod -R 755 storage bootstrap/cache
sudo chown -R www-data:www-data storage bootstrap/cache
Nginx/Apache配置错误
sudo nginx -t # Nginx
sudo apache2ctl configtest # Apache
root指向项目public目录,且启用了PHP解析。PHP版本不兼容
php -v检查版本,若低于Laravel要求(如Laravel 10需PHP 8.0+),需升级PHP:sudo apt install php8.2 # 以PHP 8.2为例
sudo update-alternatives --set php /usr/bin/php8.2
http://your-domain.com或http://localhost,若看到Laravel欢迎页面,则部署成功。使用Laravel Sail(Docker):适合快速搭建开发环境,避免手动配置服务器。
composer require laravel/sail --dev
./vendor/bin/sail up
```[参考Laravel官方文档](https://laravel.com/docs/sail)
日志排查:若仍无法访问,查看storage/logs/laravel.log获取具体错误信息。
按以上步骤操作可解决大部分Debian上的Laravel部署问题,如遇特殊错误可结合日志信息进一步排查。