温馨提示×

怎样迁移Laravel到Debian

小樊
41
2026-10-05 06:01:06
栏目: 智能运维

下面给你一套从旧环境把 Laravel 项目迁移到 Debian 服务器的通用流程,适用于:

  • 从 Windows / macOS / 其他 Linux 迁移
  • 从开发机迁移到生产服务器
  • 使用 Apache 或 Nginx

一、准备工作(Debian 端)

1. 更新系统

sudo apt update
sudo apt upgrade -y

2. 安装必要软件

sudo apt install -y \
  nginx \
  php \
  php-fpm \
  php-mysql \
  php-mbstring \
  php-xml \
  php-curl \
  php-zip \
  php-gd \
  mysql-server \
  git \
  unzip

如果是 Laravel 10/11,建议 PHP 8.1+


二、迁移 Laravel 项目文件

方式一:Git(推荐)

cd /var/www
git clone git@github.com:yourname/your-laravel.git
cd your-laravel

方式二:打包上传

tar -czf laravel.tar.gz /path/to/laravel
scp laravel.tar.gz user@debian:/var/www

解压:

tar -xzf laravel.tar.gz

三、安装依赖

1. 安装 Composer

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

2. 安装 PHP 依赖

composer install --optimize-autoloader --no-dev

四、配置环境

1. 复制 env

cp .env.example .env

2. 修改配置

APP_ENV=production
APP_DEBUG=false
APP_URL=http://your-domain.com

DB_CONNECTION=mysql
DB_HOST=127.0.0.1
DB_PORT=3306
DB_DATABASE=laravel
DB_USERNAME=laravel
DB_PASSWORD=secret

3. 生成 key

php artisan key:generate

五、数据库迁移

1. 创建数据库

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

2. 迁移数据

php artisan migrate --force

如已有数据,可导出旧库再导入


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

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

七、配置 Web 服务器

Nginx 示例

server {
    listen 80;
    server_name your-domain.com;
    root /var/www/your-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;
    }
}
sudo nginx -t
sudo systemctl restart nginx

八、优化(生产环境)

php artisan config:cache
php artisan route:cache
php artisan view:cache

九、常见问题

500 错误

  • 检查 .env
  • 查看日志:storage/logs/laravel.log
  • 检查权限

静态资源 404

  • 确认 root 指向 public

Composer 内存不足

php -d memory_limit=-1 composer install

如果你愿意,可以告诉我:

  • Laravel 版本
  • 使用 Apache 还是 Nginx
  • 是否使用 Docker / 面板(宝塔等)

我可以给你更精确的迁移方案。

0 踩