温馨提示×

centos怎么部署laravel

小樊
37
2026-08-03 10:27:34
栏目: 智能运维

下面给你一套在 CentOS 上部署 Laravel 的完整流程,适用于 CentOS 7 / 8 / Stream,Laravel 8/9/10/11 基本通用。


一、环境准备

Laravel 依赖:

  • PHP ≥ 8.0(推荐 8.1 / 8.2)
  • Composer
  • Nginx 或 Apache
  • MySQL / MariaDB(可选)
  • Redis(可选)

二、安装 PHP(Remi 源,推荐)

1️⃣ 安装 EPEL 和 Remi 源

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

# CentOS 8 / Stream
dnf install -y epel-release
dnf install -y https://rpms.remirepo.net/enterprise/remi-release-8.rpm

2️⃣ 启用 PHP 8.2

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

3️⃣ 安装 PHP 及扩展

yum install -y php \
php-cli \
php-fpm \
php-mysql \
php-mbstring \
php-xml \
php-curl \
php-zip \
php-gd \
php-intl \
php-opcache \
php-redis

检查版本:

php -v

三、安装 Composer

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

composer -V

四、安装 Nginx

yum install -y nginx
systemctl enable nginx
systemctl start nginx

五、部署 Laravel 项目

1️⃣ 创建项目目录

mkdir -p /var/www
cd /var/www

2️⃣ 方式一:直接拉取代码(推荐)

git clone https://github.com/yourname/laravel.git
cd laravel
composer install --no-dev --optimize-autoloader

3️⃣ 配置环境

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

编辑数据库配置:

vi .env
DB_CONNECTION=mysql
DB_HOST=127.0.0.1
DB_PORT=3306
DB_DATABASE=laravel
DB_USERNAME=laravel
DB_PASSWORD=123456

4️⃣ 权限设置(非常重要)

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

编辑配置:

vi /etc/nginx/conf.d/laravel.conf
server {
    listen 80;
    server_name yourdomain.com;
    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:

nginx -t
systemctl reload nginx

七、启动 PHP-FPM

systemctl enable php-fpm
systemctl start php-fpm

八、数据库(可选)

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

创建数据库:

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

九、运行 Laravel

php artisan migrate
php artisan config:cache
php artisan route:cache

十、防火墙

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

十一、常见问题

❌ 500 错误

tail -f /var/www/laravel/storage/logs/laravel.log

❌ Permission denied

chown -R nginx:nginx /var/www/laravel

十二、生产环境建议

✅ 关闭 debug

APP_DEBUG=false

✅ 使用 supervisor 管理队列
✅ 使用 Redis
✅ 开启 OPCache


如果你愿意,我可以:

  • ✅ 给你 CentOS 7 / 8 / Stream 专用脚本
  • ✅ 教你 用 Docker 部署 Laravel
  • ✅ 帮你 排查 500 / 502 错误

你现在是 本地测试还是线上服务器?

0