温馨提示×

centos下laravel怎配置

小樊
32
2026-10-14 15:07:22
栏目: 智能运维

下面按最常见场景(CentOS 7/8 + Nginx + PHP-FPM + MySQL)给你一套可直接照做的 Laravel 配置流程。


一、环境准备(CentOS)

1. 安装 EPEL 和 Remi 源(推荐 PHP 新版本)

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

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

yum module reset php -y
yum module enable php:remi-8.1 -y
yum install -y php php-cli php-fpm php-mysqlnd php-mbstring php-xml php-zip php-gd php-bcmath php-json

检查:

php -v

二、安装 Composer

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

三、安装 Nginx

yum install -y nginx
systemctl enable nginx
systemctl start nginx

四、部署 Laravel 项目

1. 创建项目目录

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

2. 新建 Laravel 项目

composer create-project laravel/laravel .

或已有代码:

git clone 你的仓库 .
composer install

3. 配置权限(非常重要)

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

五、配置 PHP-FPM

修改 pool 用户

vi /etc/php-fpm.d/www.conf

确认:

user = nginx
group = nginx

重启:

systemctl restart php-fpm

六、配置 Nginx(Laravel 核心)

新建站点配置

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   127.0.0.1:9000;
        fastcgi_index  index.php;
        fastcgi_param  SCRIPT_FILENAME $document_root$fastcgi_script_name;
        include        fastcgi_params;
    }

    location ~ /\.(?!well-known).* {
        deny all;
    }
}

测试并重载:

nginx -t
systemctl reload nginx

七、配置 .env 和数据库

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

编辑数据库:

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

创建数据库:

CREATE DATABASE laravel CHARACTER SET utf8mb4;

八、常见问题排查

1. 500 错误

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

2. permission denied

chmod -R 777 storage bootstrap/cache

3. SELinux(CentOS 特有)

setsebool -P httpd_read_user_content 1
setsebool -P httpd_can_network_connect 1

九、可选(生产建议)

  • 关闭 debug:APP_DEBUG=false
  • 配置 HTTPS(Let’s Encrypt)
  • 使用 php artisan config:cache
  • Supervisor 管理队列

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

  • CentOS 版本(7 / 8 / Stream)
  • PHP 版本需求
  • 是否用 Apache / Docker

我可以给你更精确的配置。

0 踩