下面给你一份在 CentOS 上搭建 Laravel 运行环境的常见做法(以 CentOS 7 / 8 为例,PHP 8.1+,Nginx + MySQL)。
# 更新系统
sudo yum update -y
# 安装常用工具
sudo yum install -y wget curl git unzip
sudo yum install -y epel-release
sudo yum install -y https://rpms.remirepo.net/enterprise/remi-release-7.rpm
sudo yum-config-manager --enable remi-php81
sudo yum install -y php php-cli php-fpm php-mysqlnd \
php-zip php-gd php-mbstring php-curl php-xml php-bcmath
php -v
cd /tmp
curl -sS https://getcomposer.org/installer | php
sudo mv composer.phar /usr/local/bin/composer
composer --version
sudo yum install -y nginx
sudo systemctl enable nginx
sudo systemctl start nginx
sudo yum install -y mariadb-server
sudo systemctl enable mariadb
sudo systemctl start mariadb
sudo mysql_secure_installation
创建数据库:
CREATE DATABASE laravel CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
CREATE USER 'laravel'@'localhost' IDENTIFIED BY 'password';
GRANT ALL PRIVILEGES ON laravel.* TO 'laravel'@'localhost';
FLUSH PRIVILEGES;
cd /var/www
git clone your-project.git laravel
cd laravel
composer install
cp .env.example .env
php artisan key:generate
配置权限:
sudo chown -R nginx:nginx /var/www/laravel
sudo chmod -R 755 /var/www/laravel
sudo chmod -R 777 /var/www/laravel/storage
server {
listen 80;
server_name yourdomain.com;
root /var/www/laravel/public;
index index.php;
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;
}
}
sudo nginx -t
sudo systemctl restart nginx
sudo systemctl enable php-fpm
sudo systemctl start php-fpm
sudo firewall-cmd --permanent --add-service=http
sudo firewall-cmd --reload
✅ 500 错误 → 看 storage 权限
✅ 502 错误 → 检查 php-fpm 是否运行
✅ Composer 慢 → 配置国内镜像
composer config -g repos.packagist composer https://mirrors.aliyun.com/composer/
如果你告诉我:
我可以给你更精确的配置。