温馨提示×

centos装laravel要注意什么

小樊
43
2026-09-08 20:53:37
栏目: 智能运维

在 CentOS 上安装和运行 Laravel,和 Ubuntu 相比有一些“坑”和注意点,下面按系统层面 → 运行环境 → Laravel 安装 → 常见问题给你梳理一下。


一、系统层面注意点

1. CentOS 版本选择

  • ✅ 推荐 CentOS 7 / 8 Stream(或 Rocky / AlmaLinux)
  • ❌ 不建议用太老的 CentOS 6(PHP 版本太低)

Laravel 10 / 11 需要 PHP ≥ 8.1


2. 关闭 SELinux(或配置正确)

SELinux 是 Laravel 最常见的“玄学问题”来源。

# 查看状态
getenforce

# 临时关闭
setenforce 0

# 永久关闭(重启生效)
vi /etc/selinux/config
SELINUX=disabled

✅ 或在生产环境正确配置 SELinux(不推荐新手)


3. 防火墙(firewalld)

# 开放 80 / 443
firewall-cmd --permanent --add-service=http
firewall-cmd --permanent --add-service=https
firewall-cmd --reload

二、PHP 环境(重点)

1. CentOS 自带 PHP 太旧

CentOS 默认 PHP 是 5.x / 7.2,不能直接用

✅ 使用 Remi 源

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

# 启用 PHP 8.2
yum-config-manager --enable remi-php82
yum install php php-cli php-fpm php-mysqlnd php-mbstring php-xml php-curl php-zip php-gd php-bcmath

2. 必须开启的 PHP 扩展

Laravel 需要:

  • mbstring
  • xml
  • ctype
  • json
  • tokenizer
  • bcmath
  • openssl
  • PDO

检查:

php -m

3. php-fpm 权限问题(非常常见)

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

user = nginx
group = nginx
systemctl restart php-fpm

三、Web 服务器(Nginx 为主)

1. Nginx 配置示例

server {
    listen 80;
    server_name example.com;
    root /var/www/laravel/public;

    index index.php;

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

    location ~ \.php$ {
        fastcgi_pass 127.0.0.1:9000;
        fastcgi_index index.php;
        include fastcgi_params;
        fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
    }
}

2. 目录权限(最容易错)

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

四、Composer 安装

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

⚠️ 注意:

  • 必须用 PHP CLI
  • 内存不足会报错(建议 ≥ 1G)

五、Laravel 安装注意点

composer create-project laravel/laravel demo

或指定版本:

composer create-project laravel/laravel:^10 demo

常见错误

  • ❌ proc_open / pcntl 被禁用
  • ❌ storage/logs 不可写
  • ❌ .env 没复制
cp .env.example .env
php artisan key:generate

六、生产环境注意

✅ 关闭 debug

APP_DEBUG=false

✅ 优化

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

✅ 用 supervisor 管理队列

yum install supervisor

七、常见坑总结(重点)

问题 原因
500 错误 SELinux / 权限
白屏 storage 没写权限
502 php-fpm 没启动
慢 没关 debug
Composer 报错 PHP 版本低

如果你愿意,我可以:

  • ✅ 给你 CentOS 7 一键安装脚本
  • ✅ 帮你配 Nginx + PHP + Laravel 生产环境
  • ✅ 排查你当前具体报错

你现在是 CentOS 几?本地还是服务器?

0 踩