温馨提示×

Debian怎样配置Laravel环境

小樊
43
2026-07-17 22:41:28
栏目: 智能运维

在 Debian 上配置 Laravel 运行环境,通常是指:
✅ Web 服务器(Nginx / Apache)
✅ PHP + 必要扩展
✅ Composer
✅ MySQL / MariaDB(可选)
✅ 权限与目录配置

下面给你一套 Debian 11 / 12 通用、生产可用 的配置流程(以 Nginx + PHP-FPM + MySQL 为例)。


一、系统准备

sudo apt update
sudo apt upgrade -y

二、安装 Nginx

sudo apt install -y nginx

启动并设置开机自启:

sudo systemctl enable nginx
sudo systemctl start nginx

三、安装 PHP(推荐 PHP 8.2)

Laravel 10+ 需要 PHP ≥ 8.1

1️⃣ 添加 Sury PHP 源(Debian 官方 PHP 版本较旧)

sudo apt install -y curl wget gnupg2 ca-certificates lsb-release
curl -sSL https://packages.sury.org/php/README.txt

添加 GPG 密钥和源:

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

2️⃣ 安装 PHP + 扩展

sudo apt install -y php8.2 php8.2-fpm \
php8.2-mysql php8.2-mbstring \
php8.2-xml php8.2-curl \
php8.2-zip php8.2-gd \
php8.2-intl php8.2-bcmath

检查 PHP:

php -v

四、安装 Composer

curl -sS https://getcomposer.org/installer | php
sudo mv composer.phar /usr/local/bin/composer

验证:

composer --version

五、安装 MySQL / MariaDB(可选)

安装 MariaDB(推荐)

sudo apt install -y mariadb-server
sudo systemctl enable mariadb
sudo systemctl start mariadb

安全初始化:

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;

六、部署 Laravel 项目

1️⃣ 创建项目目录

sudo mkdir -p /var/www/laravel
cd /var/www/laravel

2️⃣ 安装 Laravel

composer create-project laravel/laravel .

或已有项目:

git clone your_project.git .
composer install

3️⃣ 配置环境

cp .env.example .env
php artisan key:generate

编辑数据库配置:

DB_DATABASE=laravel_db
DB_USERNAME=laravel
DB_PASSWORD=password

七、配置 Nginx

新建站点配置

sudo nano /etc/nginx/sites-available/laravel

示例配置:

server {
    listen 80;
    server_name your_domain_or_ip;

    root /var/www/laravel/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;
        fastcgi_param SCRIPT_FILENAME $realpath_root$fastcgi_script_name;
        include fastcgi_params;
    }

    location ~ /\.ht {
        deny all;
    }
}

启用配置

sudo ln -s /etc/nginx/sites-available/laravel /etc/nginx/sites-enabled/
sudo nginx -t
sudo systemctl reload nginx

八、权限设置(非常重要)

sudo chown -R www-data:www-data /var/www/laravel
sudo chmod -R 755 /var/www/laravel
sudo chmod -R 775 /var/www/laravel/storage
sudo chmod -R 775 /var/www/laravel/bootstrap/cache

九、测试 Laravel

php artisan serve

或浏览器访问服务器 IP / 域名。


十、常见问题排查

❌ 500 错误

tail -f /var/www/laravel/storage/logs/laravel.log

❌ PHP 扩展缺失

php -m

❌ Nginx 无法解析 PHP

确认:

systemctl status php8.2-fpm

十一、可选优化

✅ Redis
✅ Supervisor(队列)
✅ HTTPS(Let’s Encrypt)
✅ PHP Opcache


如果你愿意,我可以帮你:

  • ✅ 写 一键部署脚本
  • ✅ 配置 Docker + Laravel
  • ✅ 针对 Debian 10 / 12 精确调整
  • ✅ 配置 Apache 方案

直接告诉我你的 Debian 版本和使用场景即可。

0