温馨提示×

怎样用centos管laravel

小樊
40
2026-10-23 09:35:16
栏目: 智能运维

在 CentOS 上“管 Laravel”通常指:安装运行环境、部署项目、日常运维、队列/定时任务、日志与监控。下面按实战流程给你一套清晰思路(以 CentOS 7/8 + PHP 8.x + Nginx + MariaDB/MySQL 为例)。


一、基础环境准备(CentOS)

1. 系统更新

sudo dnf update -y     # CentOS 8
# 或
sudo yum update -y     # CentOS 7

2. 安装 PHP(推荐 8.1/8.2)

sudo dnf install -y epel-release
sudo dnf install -y https://rpms.remirepo.net/enterprise/remi-release-8.rpm
sudo dnf module enable php:remi-8.2 -y
sudo dnf install -y php php-cli php-fpm php-mysqlnd php-mbstring php-xml php-curl php-zip php-gd php-bcmath

验证:

php -v

二、安装 Nginx + PHP-FPM

sudo dnf install -y nginx
sudo systemctl enable --now nginx
sudo systemctl enable --now php-fpm

三、部署 Laravel 项目

1. 安装 Composer

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

2. 拉取项目

cd /var/www
git clone your-repo.git laravel
cd laravel
composer install --no-dev --optimize-autoloader

3. 配置环境

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

四、Nginx 配置(最重要)

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$ {
        include fastcgi_params;
        fastcgi_pass unix:/run/php-fpm/www.sock;
        fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
    }
}
sudo nginx -t
sudo systemctl restart nginx

五、权限管理(CentOS 常见坑)

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

六、数据库(MariaDB)

sudo dnf install -y mariadb-server
sudo systemctl enable --now mariadb
mysql_secure_installation

建库:

CREATE DATABASE laravel;
CREATE USER 'laravel'@'localhost' IDENTIFIED BY 'password';
GRANT ALL ON laravel.* TO 'laravel'@'localhost';

七、Laravel 日常“管”法

1. 队列(Queue)

php artisan queue:work

CentOS 用 systemd 管理:

# /etc/systemd/system/laravel-queue.service
[Unit]
Description=Laravel Queue

[Service]
ExecStart=/usr/bin/php /var/www/laravel/artisan queue:work
Restart=always
User=nginx

[Install]
WantedBy=multi-user.target
systemctl enable --now laravel-queue

2. 定时任务(Task Scheduler)

crontab -e
* * * * * php /var/www/laravel/artisan schedule:run

3. 日志管理

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

日志轮转:

sudo vi /etc/logrotate.d/laravel

八、常用运维命令

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

九、推荐“管理姿势”

✅ 用 systemd 管队列
✅ 用 Nginx + PHP-FPM
✅ 用 git + composer 部署
✅ 用 supervisor(可选) 管进程
✅ 用 防火墙

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

如果你愿意,我可以:

  • 给你 CentOS 7 / 8 专用一键脚本
  • 教你 Docker 管 Laravel
  • 或针对 生产环境安全加固

你现在是 学习 / 测试 / 生产部署?

0 踩