跳到主要内容

应用配置


HTTP 设置

这里包含所有与 HTTP 相关的内容。如果你的应用不是 HTTP 应用,可以直接勾选“不要作为 Web 应用公开”。这适用于所有非 Web 应用,例如 MongoDB 或 MySQL 等数据库。

httpsettings

默认情况下,你部署的任何 Web 应用都会获得一个 Captain 域名,格式为:appname.root.domain.com。不过,你可以为此应用添加任意数量的域名。例如,你可以添加 www.myawesomeapp.commyawesomeapp.com

还有一些高级选项,例如编辑默认 Nginx 配置和容器 HTTP 端口,通常不需要修改。

启用 HTTPS

CapRover 内置了对 Let's Encrypt 的支持,让你可以轻松地通过安全的 HTTPS 访问网站,无需担心 SSL 证书的费用(Let's Encrypt 免费提供),也无需繁琐地配置和续期证书。

要为任何域名启用 HTTPS,只需点击启用 HTTPS!几秒钟即可完成!

启用 HTTPS 后,你还可以选择强制所有请求使用 HTTPS(强烈建议这样做),也就是拒绝不安全的普通 HTTP 连接,并将其重定向到 HTTPS。

应用配置

这里可以设置运行时配置和选项。

appconfig

环境变量

你可以为应用设置的最基本配置之一就是环境变量。这些变量通常用于传入不存储在代码中的数据,例如第三方服务的 API 密钥、数据库连接 URI 等。

你可以直接在控制面板中设置环境变量,并在代码中动态使用它们,例如,NodeJS 中使用 process.env.VAR_NAME_HERE,PHP 中使用 $_ENV["VAR_NAME_HERE"]

如果希望在构建时访问这些变量,可以在 Dockerfile 中使用 ARG 命令。

FROM imagename....
ARG VAR_NAME_HERE=${VAR_NAME_HERE}
ENV VAR_NAME_HERE=${VAR_NAME_HERE}

## At this point, "VAR_NAME_HERE" is available as an env var during your build,
## you can do something like this:
## RUN echo $VAR_NAME_HERE

除了你自行设置的变量外,CapRover 还会设置一个 CAPROVER_GIT_COMMIT_SHA 环境变量,其值为正在部署的完整 git 提交 SHA。该变量仅在 Docker 构建期间可用,默认情况下在应用内部不可用。如果希望在应用内部使用它,可以参考以下示例:

FROM imagename....
ARG CAPROVER_GIT_COMMIT_SHA=${CAPROVER_GIT_COMMIT_SHA}
ENV CAPROVER_GIT_COMMIT_SHA=${CAPROVER_GIT_COMMIT_SHA}

端口映射

CapRover 允许你将容器端口映射到主机。如果希望让应用或容器的某个特定端口可以公开访问,就应使用此功能。最常见的场景是从本地计算机连接到数据库容器

请注意,即使没有设置任何端口映射,同一 Captain 集群中的其他容器也可以访问所有端口。因此,只有在希望某个端口公开访问时才需要使用此选项。请确保已开放该端口,参见防火墙设置

例如,没有端口映射时,Node.js 应用可以通过 mongodb-app-name 访问名为 mongodb-app-name 的应用。由 1.15 之前的 CapRover 版本升级而来的应用可能仍会保留带有 srv-captain-- 前缀的 Docker 服务名称;带此前缀的网络别名仍会保留以兼容这些应用。

持久化目录

仅用于持久化应用

节点 ID

仅用于持久化应用。持久化应用需要固定到某个特定节点(如果你有服务器集群)。NodeId 定义了该应用应固定到哪个节点。

服务标签

自 1.11 版本起可用

你可以为 caprover 服务添加特殊标签,以便更好地对应用进行分组,并在表格中查看它们。

实例数量

应用应同时运行多少个实例。你可以运行任意数量的实例,但会受到硬件资源的限制。如果增加此数量后没有足够的 RAM 或磁盘空间,系统可能会崩溃。建议在增加实例数量前考虑其性能影响。

预部署函数

这是一个非常危险且高级的选项。除非你确实清楚自己在做什么,否则不要使用它。