迁移 Debian 上的 Laravel 项目,通常分为 服务器环境准备 → 项目迁移 → 配置与权限 → 数据库 → 测试 几个阶段。下面给你一套实战型完整流程,适用于从一台 Debian 服务器迁移到另一台,或重装系统后恢复。
sudo apt update && sudo apt upgrade -y
sudo apt install -y \
php php-cli php-fpm \
php-mysql php-pgsql php-sqlite3 \
php-curl php-xml php-mbstring \
php-zip php-gd php-bcmath php-tokenizer
查看 PHP 版本:
php -v
sudo apt install -y mysql-server
sudo mysql_secure_installation
sudo apt install -y postgresql postgresql-contrib
sudo apt install -y nginx
curl -sS https://getcomposer.org/installer | php
sudo mv composer.phar /usr/local/bin/composer
composer -V
cd /var/www
tar -czvf laravel.tar.gz your_project
scp laravel.tar.gz user@new_server_ip:/tmp
sudo mkdir -p /var/www/your_project
sudo tar -xzvf /tmp/laravel.tar.gz -C /var/www/your_project --strip-components=1
cd /var/www
git clone git@github.com:your/repo.git your_project
cd your_project
composer install --no-dev --optimize-autoloader
cp .env.example .env
或直接从旧服务器复制:
scp .env user@new_server:/var/www/your_project
.envAPP_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=password
php artisan key:generate
sudo chown -R www-data:www-data /var/www/your_project
sudo chmod -R 755 /var/www/your_project
sudo chmod -R 777 /var/www/your_project/storage
sudo chmod -R 777 /var/www/your_project/bootstrap/cache
CREATE DATABASE laravel;
CREATE USER 'laravel'@'localhost' IDENTIFIED BY 'password';
GRANT ALL PRIVILEGES ON laravel.* TO 'laravel'@'localhost';
FLUSH PRIVILEGES;
mysql laravel < backup.sql
或:
php artisan migrate --force
server {
listen 80;
server_name your-domain.com;
root /var/www/your_project/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/php-fpm.sock;
}
}
重启 Nginx:
sudo systemctl restart nginx
php artisan config:cache
php artisan route:cache
php artisan view:cache
tail -f /var/www/your_project/storage/logs/laravel.log
sudo chown -R www-data:www-data /var/www/your_project
update-alternatives --config php
.env 配置如果你愿意,我可以:
直接告诉我你的 Debian 版本 + Laravel 版本 即可。