温馨提示×

laravel在debian怎么配置

小樊
38
2026-10-02 07:40:46
栏目: 智能运维

下面给你一份在 Debian 上配置 Laravel 的常用完整流程(以 Debian 11/12 + Nginx + PHP 8.1/8.2 为例,MySQL 可选)。


一、更新系统

sudo apt update
sudo apt upgrade -y

二、安装 Nginx

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

三、安装 PHP 及扩展

Laravel 通常需要以下扩展:

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

查看 PHP 版本:

php -v

四、安装 Composer

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

五、安装 Laravel

方式 1:新建项目

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

方式 2:已有项目

cd /var/www
git clone your_repo.git
cd your_repo
composer install

六、配置目录权限

sudo chown -R www-data:www-data /var/www/example-app
sudo chmod -R 755 /var/www/example-app
sudo chmod -R 777 /var/www/example-app/storage
sudo chmod -R 777 /var/www/example-app/bootstrap/cache

七、配置 Nginx

新建站点配置:

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

示例配置(PHP 8.1):

server {
    listen 80;
    server_name example.com;

    root /var/www/example-app/public;
    index index.php index.html;

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

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

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

启用站点:

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

八、配置 .env

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

编辑数据库等信息:

nano .env

九、数据库(可选 MySQL)

sudo apt install mysql-server -y
sudo mysql_secure_installation

创建数据库:

CREATE DATABASE laravel;
CREATE USER 'laravel'@'localhost' IDENTIFIED BY 'password';
GRANT ALL PRIVILEGES ON laravel.* TO 'laravel'@'localhost';
FLUSH PRIVILEGES;

迁移:

php artisan migrate

十、队列 / 调度(可选)

php artisan queue:work

生产环境建议用 supervisor 或 systemd。


十一、防火墙(如有)

sudo ufw allow 80
sudo ufw allow 443

常见问题

  • 500 错误:检查 storage 权限
  • No input file:Nginx root 指向 public
  • Composer 内存不足:COMPOSER_MEMORY_LIMIT=-1 composer install

如果你愿意,我可以:

  • 帮你写 systemd / supervisor 配置
  • 配置 HTTPS(Let’s Encrypt)
  • 针对 Debian + Docker 或 Laravel 11 单独说明

0 踩