jontsa/maintenance-bundle

Symfony 扩展包,用于将网站置于维护模式。

1.0.0 2024-01-02 11:47 UTC

This package is auto-updated.

Last update: 2024-08-31 00:27:30 UTC


README

这是一个为 Symfony 4/5 设计的小型扩展包,它提供了命令来将应用程序置于维护模式,在此期间所有请求都会收到 HTTP 503 响应。这是通过抛出 ServiceUnavailableHttpException 实现的,客户端将收到默认的 Symfony 错误页面或包含正确 HTTP 状态码的 JSON 消息。

Tests

功能

  • 使用单个命令将网站置于维护模式
  • 在维护期间对请求返回 HTTP 503 响应
  • 可选的 IP 地址白名单。例如,在维护期间允许负载均衡器进行健康检查。
  • 轻量级扩展包
  • Deployer 的配置方法

要求

  • Symfony 5+
  • PHP 7.4+
  • composer

安装

确保已全局安装 Composer,如 Composer 文档中的安装章节所述。

打开命令行,进入项目目录,并执行

$ composer require jontsa/maintenance-bundle

不使用 Symfony Flex 的应用程序

当不使用 Symfony Flex 时,您需要通过将其添加到项目 config/bundles.php 文件中注册的扩展包列表中来启用扩展包

// config/bundles.php

return [
    // ...
    Jontsa\Bundle\MaintenanceBundle\JontsaMaintenanceBundle::class => ['all' => true],
];

使用方法

要将网站置于维护模式

$ bin/console jontsa:maintenance enable

要禁用维护模式

$ bin/console jontsa:maintenance disable

配置

要更改默认设置,创建一个配置文件。

# config/packages/jontsa_maintenance.yaml
jontsa_maintenance:
  whitelist:
    ip: [127.0.0.1, 192.168.0.0/24]
  lock_path: '%kernel.project_dir%/var/cache/maintenance'
  • ip 是允许在维护期间访问应用程序的 IP 地址或网络的数组
  • lock_path 是维护期间创建的文件路径

自定义错误页面

如果您想自定义错误页面,请参阅 Symfony 文档