温馨提示×

centos下laravel如何配置

小樊
48
2026-09-21 02:49:37
栏目: 智能运维

下面按CentOS 系统环境,给你一套从零开始配置 Laravel 的常见做法(以 CentOS 7 / 8、PHP 7.4/8.x、Nginx 为例,Apache 也会顺带说明)。


一、基础环境准备

1. 更新系统

sudo yum update -y

2. 安装必要工具

sudo yum install -y wget curl git unzip

二、安装 PHP(以 PHP 8.1 为例)

1. 添加 Remi 源

sudo yum install -y https://rpms.remirepo.net/enterprise/remi-release-8.rpm
sudo dnf module reset php
sudo dnf module enable php:remi-8.1

2. 安装 PHP 及常用扩展

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

3. 验证

php -v

三、安装 Composer

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

四、安装 Nginx

sudo yum install -y nginx
sudo systemctl enable --now nginx

五、创建 Laravel 项目

方式一:Composer 创建

cd /var/www
sudo composer create-project laravel/laravel example-app

设置权限

sudo chown -R nginx:nginx /var/www/example-app
sudo chmod -R 755 /var/www/example-app
sudo chmod -R 777 /var/www/example-app/storage

六、配置 Nginx 支持 Laravel

编辑配置文件:

sudo vi /etc/nginx/conf.d/laravel.conf

示例配置:

server {
    listen 80;
    server_name your_domain_or_ip;
    root /var/www/example-app/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;
        include fastcgi_params;
        fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
    }

    location ~ /\.ht {
        deny all;
    }
}

重载 Nginx:

sudo nginx -t
sudo systemctl reload nginx

七、配置 PHP-FPM

编辑:

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

确保:

user = nginx
group = nginx
listen = /run/php-fpm/www.sock

重启:

sudo systemctl restart php-fpm

八、配置 .env 与数据库

cd /var/www/example-app
cp .env.example .env
php artisan key:generate

示例数据库配置(MySQL):

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

九、防火墙与 SELinux(常见坑)

防火墙

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

SELinux(建议先测试)

sudo setsebool -P httpd_can_network_connect 1
sudo chcon -R -t httpd_sys_rw_content_t /var/www/example-app/storage

十、Apache(可选)

如果你用 Apache:

sudo yum install httpd
sudo systemctl enable --now httpd

启用 rewrite:

sudo vi /etc/httpd/conf/httpd.conf
AllowOverride All

十一、常见问题速查

问题 解决
500 错误 看 storage/logs/laravel.log
权限问题 storage 设 777
白屏 检查 PHP 版本 & 扩展
路由 404 Nginx try_files 配置

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

  • CentOS 版本
  • PHP 版本
  • 用 Nginx 还是 Apache
  • 是否用 Docker

我可以直接给你精确配置方案。

0 踩