附加组件标签页让您无需为网站搭建或维护服务器,就能为网站附加托管的 PostgreSQL 数据库或托管的 Redis 实例。KapsuleHost 负责配置,为您提供连接字符串,并在您移除时彻底清理干净。
附加组件在哪里
打开网站,点击相应网站,在网站左侧菜单中打开应用分组,选择附加组件。该页面标题为受管附加组件。
目录中有两个选项:
| 附加组件 | 典型用途 |
|---|---|
| PostgreSQL | 非基于 MySQL 的应用程序的主要数据存储 |
| Redis | 缓存、会话存储和后台任务队列 |
这些与标准虚拟主机网站自带的 MySQL 数据库是分开的。后者位于数据库标签页中,不需要任何配置:参见通过 SSH 隧道连接您的数据库。

申请附加组件
- 在添加托管数据库部分找到对应的附加组件。
- 点击添加到网站。
请求会立即被记录,附加组件会出现在您的附加组件中,带有待处理标记和正在等待配置程序的提示。页面每十五秒自动刷新一次,因此您可以让它保持打开状态。
后台任务每隔几分钟就会处理一次待处理的请求,为您的网站创建专属数据库和专属用户,并回写一个加密的连接字符串。随后状态会变为已启用。
申请或移除附加组件需要 sites:write 权限。只读团队成员可以查看现有附加组件及其状态,但相关按钮会被隐藏。
每种类型每个网站限一个
一个网站可以拥有一个 PostgreSQL 附加组件和一个 Redis 附加组件。申请第二个相同类型的附加组件会被拒绝,并提示已配置过该附加组件;一旦某个选项已安装,目录中就会将其隐藏。当两者都已安装时,目录部分会显示所有可用附加组件均已安装。
查看状态
| 状态 | 含义 |
|---|---|
| 待处理 | 已请求,正在排队等待配置程序处理 |
| 配置中 | 正在创建 |
| 已启用 | 可以使用 |
| 失败 | 配置未能完成;该行会显示原因 |
| 已删除 | 已移除,不再列出 |
失败状态的行下方会显示实际的错误文本,而非通用提示信息。如果该原因不是您能够自行处理的,请在支持工单中原文引用它:参见提交支持工单。
获取连接字符串
一旦某个附加组件变为已启用状态,该行会显示一个经过掩码处理的连接字符串,密码部分以点号代替,这样您就能一目了然地确认主机和数据库名称,而不会暴露凭据。
点击复制连接即可将完整的连接字符串复制到剪贴板。它会在服务器端针对该次请求解密,绝不会显示在页面上,因此屏幕共享和截图都不会泄露它。每次查看操作都会写入网站的审计日志,并显示在网站活动日志中。
该字符串采用每种引擎常见的 URL 格式,包含为此网站创建的主机、端口、用户、密码和数据库名称。
在应用程序中使用它
将连接字符串粘贴到您的应用程序读取配置的位置。对于 Node.js 网站,合适的存放位置是生产环境下密钥标签页中,使用诸如 DATABASE_URL 或 REDIS_URL 这样的键名。
请勿将连接字符串硬编码到您会提交的文件中。它包含一个有效密码。如果它进入了 git 远程仓库,就必须将其视为已泄露,而唯一真正的解决办法是删除该附加组件并重新申请一个新的,因为无法从面板中就地轮换该凭据。
移除附加组件
点击该行上的删除。KPanel 会要求您确认,并直白地说明后果:这将移除该托管数据库,且数据无法恢复。
该行会立即被标记为已删除,配置程序会在下一次运行时清理底层数据库和用户。现有连接会在此清理过程中被终止。
托管附加组件在删除时不会进行任何备份,也无法撤销。如果其中有您想保留的内容,请在附加组件仍处于活动状态、连接字符串仍然有效时,先使用 pg_dump 或 redis-cli --rdb 将其导出。
在选项之间进行选择
使用 PostgreSQL,当您的应用程序需要关系型数据库,且是针对 Postgres 编写的:强约束、事务、JSON 列,以及原本需要额外搭建的全文搜索功能。
使用 Redis,用于可以随时丢弃的内容:缓存片段、速率限制计数器、会话存储和任务队列。将其视为快速且易失的存储,而非系统记录。
使用内置的 MySQL 数据库,用于 WordPress 以及任何已经针对 MySQL 编写的程序。为 WordPress 网站添加 Postgres 附加组件没有任何实际用处,因为 WordPress 无法与之通信。
故障排查
附加组件长时间处于待处理状态。 配置程序按计划运行,而非即时执行。请让页面保持打开状态,因为它会自动刷新,然后稍后查看。如果经过几次运行后仍未变化,请提交支持工单,并附上网站域名和附加组件类型。
配置失败。 请查看该行上的错误信息。删除失败的附加组件并重新申请,这样做是安全的:失败的行背后从未存在过实际运行的数据库。
点击复制连接没有任何反应。 某些浏览器在标签页未获得焦点时会阻止剪贴板写入操作。请先点击页面,然后再次点击该按钮。
应用程序无法连接。 请按顺序检查以下三项:附加组件状态是否为已启用、您是否复制了该字符串而非重新输入、以及您的应用程序读取的是否是您实际设置的值,而非之前某次部署遗留的旧值。通常需要重启应用程序才能使新配置生效。
重新部署后连接被拒绝。 请确认您配置中的连接字符串仍与此页面上的一致。删除并重新申请附加组件会生成新的用户和新的密码,因此旧的字符串将无法使用。
下一步该怎么做
- 为网站存储应用密钥,这是保存连接字符串的正确位置。
- 通过 SSH 隧道连接您的数据库,适用于内置的 MySQL 数据库。
- 网站设置,了解其余的网站级配置。