结论:可以。CentOS 完全支持 Laravel。
Laravel 基于 PHP 的 Web 框架,并不依赖特定的 Linux 发行版,只要系统满足其运行环境要求即可。CentOS(包括 CentOS 7 和 CentOS 8 Stream)是服务器领域非常主流的选择,非常适合部署 Laravel。
以下是详细的说明和部署建议:
Laravel 的运行只依赖以下几点,CentOS 都可以很好地满足:
fileinfo, mbstring, curl, zip 等。由于 CentOS 不同版本的软件源策略不同,部署方式略有区别:
在 CentOS 上部署 Laravel 的标准架构通常是: CentOS + Nginx + PHP-FPM + MariaDB/MySQL + Redis
如果你决定在 CentOS 上部署,以下是大致的步骤流程:
# CentOS 7
yum install -y epel-release
yum install -y https://rpms.remirepo.net/enterprise/remi-release-7.rpm
# CentOS 8/Stream 8
dnf install -y epel-release
dnf install -y https://rpms.remirepo.net/enterprise/remi-release-8.rpm
# 安装 yum-utils 以便使用 yum-config-manager
yum install -y yum-utils
# 禁用旧版本,启用 8.2
yum-config-manager --disable 'remi-php*'
yum-config-manager --enable remi-php82
yum install -y php php-cli php-fpm php-json php-common php-mysql php-zip php-gd php-mbstring php-curl php-xml php-pear php-bcmath php-json
Laravel 依赖 Composer 管理包。
curl -sS https://getcomposer.org/installer | php
mv composer.phar /usr/local/bin/composer
chmod +x /usr/local/bin/composer
yum install -y nginx
配置 Nginx 的 server 块,将 root 指向 Laravel 项目的 public 目录,并将请求转发给 php-fpm。
storage/)无法写入或 Nginx 无法访问。
setenforce 0chcon -R -t httpd_sys_rw_content_t storage/firewalld,需要开放 80 或 443 端口。firewall-cmd --permanent --zone=public --add-service=http
firewall-cmd --reload
CentOS 可以完美运行 Laravel。 只要记得通过 Remi 源安装较新版本的 PHP,并处理好 Nginx 配置和 SELinux 权限即可。