温馨提示×

laravel如何迁移到centos服务器

小樊
36
2026-10-17 11:37:37
栏目: 云计算

将 Laravel 项目迁移到 CentOS 服务器,通常包含:环境准备 → 代码上传 → 依赖安装 → 配置 → 权限 → Web 服务配置 → 测试。下面给你一个完整、可操作的流程(以 CentOS 7/8 + Nginx + PHP + MySQL 为例)。


一、服务器基础环境准备

1. 连接服务器

ssh root@服务器IP

2. 更新系统

yum update -y

二、安装运行环境

1. 安装 Nginx

yum install nginx -y
systemctl start nginx
systemctl enable nginx

2. 安装 PHP(以 PHP 8.1 为例)

yum install epel-release -y
yum install https://rpms.remirepo.net/enterprise/remi-release-7.rpm -y

yum install yum-utils -y
yum-config-manager --enable remi-php81

yum install php php-cli php-fpm php-mysqlnd php-zip php-gd php-mbstring php-curl php-xml php-bcmath -y

启动 PHP-FPM:

systemctl start php-fpm
systemctl enable php-fpm

3. 安装 MySQL / MariaDB

yum install mariadb-server -y
systemctl start mariadb
systemctl enable mariadb

初始化数据库:

mysql_secure_installation

创建数据库:

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

三、上传 Laravel 项目

方式一:Git(推荐)

cd /var/www
git clone 你的仓库地址 laravel

方式二:压缩包

本地:

zip -r laravel.zip .

服务器:

cd /var/www
unzip laravel.zip -d laravel

四、安装 Composer 依赖

cd /var/www/laravel
composer install --optimize-autoloader --no-dev

如果没装 Composer:

php -r "copy('https://getcomposer.org/installer', 'composer-setup.php');"
php composer-setup.php
mv composer.phar /usr/local/bin/composer

五、配置 Laravel

1. 配置 .env

cp .env.example .env
php artisan key:generate

修改数据库信息:

DB_DATABASE=laravel_db
DB_USERNAME=laravel
DB_PASSWORD=密码

2. 执行迁移

php artisan migrate --force

如有 Seed:

php artisan db:seed --force

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

chown -R nginx:nginx /var/www/laravel
chmod -R 755 /var/www/laravel
chmod -R 777 /var/www/laravel/storage
chmod -R 777 /var/www/laravel/bootstrap/cache

七、配置 Nginx

编辑:

vim /etc/nginx/conf.d/laravel.conf

示例配置:

server {
    listen 80;
    server_name 你的域名或IP;
    root /var/www/laravel/public;

    index index.php index.html;

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

    location ~ \.php$ {
        fastcgi_pass   unix:/run/php-fpm/www.sock;
        fastcgi_index  index.php;
        fastcgi_param  SCRIPT_FILENAME $document_root$fastcgi_script_name;
        include        fastcgi_params;
    }
}

测试并重启:

nginx -t
systemctl restart nginx

八、防火墙 & SELinux

防火墙

firewall-cmd --permanent --add-service=http
firewall-cmd --reload

SELinux(如遇 403)

setsebool -P httpd_can_network_connect 1
setsebool -P httpd_unified 1

九、优化 Laravel(可选)

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

十、常见问题排查

问题 解决
500 错误 看 storage/logs/laravel.log
403 权限 / SELinux
404 Nginx rewrite
白屏 php artisan config:clear

如果你愿意,我可以:

  • ✅ 给你 CentOS 8 / Rocky / AlmaLinux 版本
  • ✅ 教你 Docker 部署 Laravel
  • ✅ 帮你写 一键部署脚本

你现在的 CentOS 版本和 PHP 版本是多少?

0 踩