温馨提示×

如何用debian搭laravel环境

小樊
44
2026-09-14 10:00:25
栏目: 智能运维

下面给你一套在 Debian 上搭建 Laravel 运行环境的常见、稳妥方案(以 Debian 12(Bookworm) 为例,PHP 8.2+,Nginx + MySQL)。


一、系统准备

sudo apt update
sudo apt upgrade -y

安装常用工具:

sudo apt install -y curl git unzip wget

二、安装 PHP 及扩展

Laravel 11 需要 PHP ≥ 8.2。

sudo apt install -y php php-cli php-fpm \
php-mysql php-mbstring php-xml php-bcmath \
php-curl php-zip php-gd php-intl

检查版本:

php -v

三、安装 Composer

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

四、安装数据库(MySQL)

sudo apt install -y mariadb-server
sudo mysql_secure_installation

创建数据库和用户:

CREATE DATABASE laravel CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
CREATE USER 'laravel'@'localhost' IDENTIFIED BY 'password';
GRANT ALL PRIVILEGES ON laravel.* TO 'laravel'@'localhost';
FLUSH PRIVILEGES;

五、安装 Nginx

sudo apt install -y nginx

配置站点:

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

示例配置:

server {
    listen 80;
    server_name example.com;
    root /var/www/laravel/public;

    add_header X-Frame-Options "SAMEORIGIN";
    add_header X-Content-Type-Options "nosniff";

    index index.php;

    location / {
        try_files $uri $uri/ /index.php?$query_string;
    }

    location ~ \.php$ {
        include snippets/fastcgi-php.conf;
        fastcgi_pass unix:/run/php/php-fpm.sock;
    }

    location ~ /\.(?!well-known).* {
        deny all;
    }
}

启用站点:

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

六、部署 Laravel 项目

cd /var/www
composer create-project laravel/laravel laravel

设置权限:

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

配置 .env:

cd /var/www/laravel
cp .env.example .env
php artisan key:generate

修改数据库配置:

DB_DATABASE=laravel
DB_USERNAME=laravel
DB_PASSWORD=password

七、运行与测试

php artisan migrate

浏览器访问:

http://服务器IP

八、可选增强

  • 队列:php artisan queue:work
  • SSL:使用 certbot
  • Redis:sudo apt install redis-server
  • Supervisor:管理队列进程

如果你需要:

  • ✅ Debian + Docker
  • ✅ Laravel + PostgreSQL
  • ✅ 本地开发(Homestead / Sail)

告诉我你的使用场景,我可以给你更合适的方案。

0 踩