在 Debian 上管理 Laravel,通常包含 系统环境准备、安装 Laravel、日常管理与维护、常见运维操作 等几个方面。下面给你一套比较完整、实战向的指南(适用于 Debian 11/12)。
sudo apt update && sudo apt upgrade -y
sudo apt install -y curl wget gnupg2 ca-certificates lsb-release apt-transport-https
添加 Sury PHP 源(Debian 官方 PHP 版本较旧):
curl -sSL https://packages.sury.org/php/README.txt
wget -qO - https://packages.sury.org/php/apt.gpg | sudo apt-key add -
echo "deb https://packages.sury.org/php/ $(lsb_release -sc) main" | sudo tee /etc/apt/sources.list.d/sury-php.list
sudo apt update
安装 PHP 及常用扩展:
sudo apt install -y php8.2 php8.2-cli php8.2-fpm \
php8.2-mysql php8.2-pgsql php8.2-sqlite3 \
php8.2-curl php8.2-mbstring php8.2-xml \
php8.2-zip php8.2-gd php8.2-intl php8.2-redis
检查版本:
php -v
sudo apt install -y mariadb-server
sudo mysql_secure_installation
创建 Laravel 数据库:
CREATE DATABASE laravel_db;
CREATE USER 'laravel'@'localhost' IDENTIFIED BY 'password';
GRANT ALL PRIVILEGES ON laravel_db.* TO 'laravel'@'localhost';
FLUSH PRIVILEGES;
curl -sS https://getcomposer.org/installer | php
sudo mv composer.phar /usr/local/bin/composer
composer -V
composer global require laravel/installer
加入 PATH:
echo 'export PATH="$HOME/.composer/vendor/bin:$PATH"' >> ~/.bashrc
source ~/.bashrc
创建项目:
laravel new myapp
composer create-project laravel/laravel myapp
cd myapp
sudo chown -R www-data:www-data storage bootstrap/cache
chmod -R 775 storage bootstrap/cache
cp .env.example .env
php artisan key:generate
配置数据库:
DB_DATABASE=laravel_db
DB_USERNAME=laravel
DB_PASSWORD=password
php artisan serve
访问:
http://localhost:8000
sudo apt install -y nginx
sudo nano /etc/nginx/sites-available/laravel
示例配置:
server {
listen 80;
server_name your_domain_or_ip;
root /var/www/myapp/public;
index index.php;
location / {
try_files $uri $uri/ /index.php?$query_string;
}
location ~ \.php$ {
include snippets/fastcgi-php.conf;
fastcgi_pass unix:/run/php/php8.2-fpm.sock;
}
location ~ /\.ht {
deny all;
}
}
启用:
sudo ln -s /etc/nginx/sites-available/laravel /etc/nginx/sites-enabled/
sudo nginx -t
sudo systemctl reload nginx
sudo apt install apache2 libapache2-mod-php8.2
sudo a2enmod rewrite
调整 AllowOverride All
php artisan down
php artisan up
php artisan config:cache
php artisan route:cache
php artisan view:cache
php artisan cache:clear
php artisan migrate
php artisan migrate:rollback
php artisan migrate:fresh --seed
php artisan queue:work
后台运行(推荐 Supervisor):
sudo apt install supervisor
示例:
[program:laravel-worker]
command=php /var/www/myapp/artisan queue:work
autostart=true
autorestart=true
user=www-data
✅ 使用 systemd / supervisor 管理队列
✅ 使用 cron 管理 Laravel 定时任务
crontab -e
* * * * * php /var/www/myapp/artisan schedule:run >> /dev/null 2>&1
✅ 使用 git + deploy 脚本 管理版本
✅ 使用 .env 区分 dev / prod
✅ 定期清理日志:
php artisan log:clear
sudo chown -R www-data:www-data storage
update-alternatives --config php
COMPOSER_MEMORY_LIMIT=-1 composer install
如果你愿意,我也可以帮你:
你可以直接说:你是 开发环境 还是 线上服务器 用?