温馨提示×

怎样给debian配laravel环境

小樊
42
2026-09-08 07:02:23
栏目: 智能运维

下面给你一份在 Debian 上配置 Laravel 运行环境的实用流程(以 Debian 11/12 + Nginx + PHP + MySQL 为例,适合绝大多数情况)。


一、更新系统

sudo apt update
sudo apt upgrade -y

二、安装 Nginx

sudo apt install nginx -y
sudo systemctl enable nginx
sudo systemctl start nginx

浏览器访问服务器 IP,能看到 Nginx 欢迎页说明成功。


三、安装 PHP(Laravel 需要的版本)

PHP 8.2 为例(Laravel 10/11 推荐):

sudo apt install -y lsb-release ca-certificates apt-transport-https software-properties-common
sudo add-apt-repository ppa:ondrej/php
sudo apt update

⚠️ Debian 默认源 PHP 版本较旧,推荐用 ondrej/php

sudo apt install 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-bcmath -y

检查 PHP:

php -v

四、安装 Composer(Laravel 依赖管理)

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

五、安装 MySQL(或 MariaDB)

sudo apt install mysql-server -y
sudo mysql_secure_installation

创建 Laravel 数据库:

sudo mysql -u root -p
CREATE DATABASE laravel_db;
CREATE USER 'laravel'@'localhost' IDENTIFIED BY 'password';
GRANT ALL PRIVILEGES ON laravel_db.* TO 'laravel'@'localhost';
FLUSH PRIVILEGES;
EXIT;

六、安装 Laravel

方式 1:新建项目

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

方式 2:已有项目

git clone your_repo example-app
cd example-app
composer install
cp .env.example .env
php artisan key:generate

配置权限:

sudo chown -R www-data:www-data /var/www/example-app
sudo chmod -R 755 /var/www/example-app

七、配置 Nginx

新建配置文件:

sudo nano /etc/nginx/sites-available/example-app

内容示例:

server {
    listen 80;
    server_name example.com;

    root /var/www/example-app/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:/var/run/php/php8.2-fpm.sock;
    }

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

启用站点:

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

八、配置 .env

nano /var/www/example-app/.env

修改数据库部分:

DB_CONNECTION=mysql
DB_HOST=127.0.0.1
DB_PORT=3306
DB_DATABASE=laravel_db
DB_USERNAME=laravel
DB_PASSWORD=password

执行迁移:

php artisan migrate

九、可选但推荐

1️⃣ 队列 / 定时任务

php artisan queue:work

Crontab:

* * * * * cd /var/www/example-app && php artisan schedule:run >> /dev/null 2>&1

2️⃣ HTTPS(Let’s Encrypt)

sudo apt install certbot python3-certbot-nginx -y
sudo certbot --nginx

十、常见问题

✅ 500 错误 → 看 storage/logs/laravel.log
✅ 权限问题 → www-data 用户
✅ PHP 版本不对 → 检查 php-fpm socket


如果你告诉我:

  • Debian 版本
  • Laravel 版本
  • 是否用 Docker / 宝塔 / 本地虚拟机

我可以给你更精确的配置方案

0