温馨提示×

ThinkPHP Linux服务器如何扩容

小樊
36
2025-12-06 12:09:43
栏目: 云计算

Linux服务器扩容实操指南(ThinkPHP场景)

一、扩容总览与准备

  • 明确目标:扩容对象通常是系统盘/数据盘容量LVM逻辑卷、或新增磁盘挂载;ThinkPHP 作为 PHP 应用,扩容后无需改动代码,但需确保Web 服务与 PHP-FPM 正常站点目录与日志目录在新空间内或已迁移。
  • 操作前务必完成:云控制台快照/备份;确认云盘已扩容完成;规划好停机窗口(非 LVM 场景可能需要短暂停机)。

二、场景一 云盘已扩容 扩展现有分区与文件系统

  • 适用:云服务器后台已把磁盘容量加大,系统里看到块设备变大(如 /dev/vdb 从 100G 到 200G),但分区和文件系统仍是旧大小。
  • 步骤:
    1. 安装扩容工具(如未安装)
      • CentOS/RHEL:yum install -y cloud-utils-growpart
    2. 扩展分区表(以磁盘 /dev/vdb 的第一个分区为例)
      • growpart /dev/vdb 1
    3. 扩展文件系统
      • ext 系列:resize2fs /dev/vdb1
      • xfs 系列:xfs_growfs /dev/vdb1(注意 xfs 是对挂载点执行:xfs_growfs /mount/point)
    4. 验证
      • df -h、lsblk 查看容量是否已变大
  • 提示:部分旧系统(如 CentOS 6)不支持在线扩容,需联系厂商或采用迁移方式。

三、场景二 LVM 在线扩容(根分区或数据盘)

  • 适用:系统使用 LVM(常见于 CentOS 7/8),需要在不重启的情况下把新增空间扩到卷组/逻辑卷。
  • 步骤:
    1. 在线识别新加磁盘(虚拟机/物理机热插后)
      • 扫描 SCSI 总线:echo “- - -” > /sys/class/scsi_host/host0/scan(可按需对 host1/host2 执行)
    2. 创建物理卷并加入卷组
      • pvcreate /dev/sdb
      • vgextend centos /dev/sdb(卷组名以 vgdisplay 为准)
    3. 扩展逻辑卷(按需选择其一)
      • 扩展到指定大小:lvextend -L 120G /dev/mapper/centos-root
      • 增加容量:lvextend -L +20G /dev/mapper/centos-root
    4. 扩展文件系统
      • ext4:resize2fs /dev/mapper/centos-root
      • xfs:xfs_growfs /(对挂载点执行)
    5. 验证
      • df -h、lvdisplay、vgdisplay 查看新容量
  • 说明:上述命令中的卷组名(如 centos)、逻辑卷路径(如 /dev/mapper/centos-root)以实际环境为准。

四、场景三 新增磁盘并挂载到 ThinkPHP 目录

  • 适用:新增一块数据盘专门放上传文件/日志/缓存等,避免挤占系统盘。
  • 步骤:
    1. 查看并分区
      • lsblk、fdisk /dev/sdb → n → p → 回车默认 → w
    2. 格式化
      • mkfs.ext4 /dev/sdb1(或 mkfs.xfs /dev/sdb1)
    3. 挂载到业务目录(示例:/var/www/uploads)
      • mkdir -p /var/www/uploads
      • mount /dev/sdb1 /var/www/uploads
    4. 开机自动挂载
      • 建议用 UUID 写入 /etc/fstab:blkid 获取 /dev/sdb1 的 UUID,然后
        • echo “UUID=xxxx-xxxx /var/www/uploads ext4 defaults 0 0” >> /etc/fstab
    5. 迁移数据并设置权限
      • 停 Web/PHP:systemctl stop nginx php-fpm
      • 迁移:rsync -a /old/path/ /var/www/uploads/
      • 权限:chown -R www-data:www-data /var/www/uploads(用户组以实际运行用户为准)
      • 启动:systemctl start nginx php-fpm
    6. 验证
      • df -h 确认挂载成功;业务前台/接口上传测试。

五、ThinkPHP 与运维注意事项

  • 站点目录与日志目录:若扩容涉及 /var/www/var/log,需确保目录在新空间或已迁移,且 Nginx/PHP-FPM 对相关目录有读写权限。
  • 配置检查:确认 Nginx root 指向 public 目录,PHP-FPM 监听与权限正确;必要时重载服务:systemctl reload nginx、systemctl reload php-fpm。
  • 分布式扩展:若扩容是为承载更高并发,可结合 Nginx 负载均衡Redis 共享 Session、对象存储(如七牛/OSS)托管上传文件,横向扩展多台应用服务器。

0