配置服务器安装
更改服务器端口
如果其他应用程序使用的端口与 TeamCity 服务器相同,那么服务器将无法启动。 这将导致服务器日志或服务器控制台出现 "Address already in use" 错误。
如果您从 .exe
安装服务器,您可以在安装向导中自定义端口。
要更改已安装/解压的服务器的端口,打开 <TeamCity 安装目录>/conf/server.xml
文件,并在未被注释的 <Connector>
XML 节点中设置另一个数字:
要应用这些更改,通过 重新启动服务器。
如果您更改了正在运行的 TeamCity 服务器的端口,那么您还需要在服务器的所有存储的 URL (浏览器书签,代理的 serverUrl
属性,用户 IDE 中的 URL ,Administration | Global Settings 页面上的 服务器 URL 设置)中更改它。
如果您在同一台机器上运行另一个 Tomcat 服务器,那么您可能也需要更改 Tomcat 服务器的其他服务端口(在 server.xml
文件中搜索 port=
)。
如果您想要使用 HTTPS 协议,需要单独启用。 该过程特定于所使用的网络服务器(默认为 Tomcat)。 请查看如何为 TeamCity web UI 配置 HTTPS 的说明。
更改服务器上下文
默认情况下,TeamCity 服务器可在服务器地址的根上下文中访问(例如,http://localhost:8111/
)。 为了使其在嵌套路径下可用(例如,http://localhost:8111/teamcity/
),您需要:
停止 TeamCity 服务器。
将
<TeamCity Home Directory>\webapps\ROOT
目录重命名为<TeamCity Home Directory>\webapps\teamcity
。
配置 TeamCity 服务器的内存设置
TeamCity 服务器 有一个主进程,它也可以启动子进程。 子进程使用机器上的可用内存。 这一部分仅涵盖主 TeamCity 服务器进程的内存设置,因为它需要特殊配置。
作为 JVM 应用程序,TeamCity 主服务器进程只使用 JVM 可用的内存。 所需的内存取决于 JVM 的位数(64 位或 32 位)。 JVM 通常使用的内存包括: 堆(通过 -Xmx
配置)和 元空间(受可用本地内存量的限制),JVM 内部(通常几十 MB),以及像内存映射文件这样的 OS 依赖内存特性。 TeamCity 主要依赖于堆内存。 配置堆内存大小:
停止 TeamCity 服务器。
运行
sysdm.cpl
命令并导航至 高级 | 环境变量。检查在 System variables 部分中是否存在
TEAMCITY_SERVER_MEM_OPTS
条目,如果没有,请添加它。将此属性设为
Xmx<Size>
值。 例如,TEAMCITY_SERVER_MEM_OPTS=-Xmx3g
。 请参见下文段落以获取更多示例。重启您的服务器机器。
启动 TeamCity 服务器在您的服务器重新启动后。
停止 TeamCity 服务器。
打开
/etc/environment
文件。检查文件中是否存在
TEAMCITY_SERVER_MEM_OPTS
行,如果不存在,添加它。将此属性设为
Xmx<Size>
值。 例如,TEAMCITY_SERVER_MEM_OPTS=-Xmx3g
。 请参见下文段落以获取更多示例。保存文件并重新启动您的服务器机器。
启动 TeamCity 服务器在您的服务器重新启动后。
TEAMCITY_SERVER_MEM_OPTS
变量的可能值:
最小设置:64 位 Java(捆绑)需
-Xmx1024m
,而 32 位 Java 需-Xmx750m
。推荐的中等服务器设置:
-Xmx2048m
适用于 64 位 Java,-Xmx1024m
适用于 32 位 Java。 对32位Java进行更大的设置可能会导致 "本地内存分配(malloc)失败" 的 JVM 崩溃,或产生 "无法创建新的本地线程" 的信息。推荐的大型服务器设置(应使用 64 位 Java):
-Xmx4g
。 这个设置应该适合于安装有多达两百个代理和数千个构建配置的系统。 自定义插件可能需要增加通过Xmx
参数定义的值。大规模服务器的最大设置(应使用 64 位 Java):
-Xmx10g
。 对于更大的 TeamCity 安装,可以使用更大的值。 然而,通常不建议在未咨询 TeamCity 支持的情况下使用大于10g
的值。
ReservedCodeCacheSize=640m
属性默认为新服务器安装设置。 如果该属性在 TeamCity 2022.04.4 之前被指定,您将需要在升级后手动更新它。
如果出现 OutOfMemory
错误,或者您在 TeamCity UI 中反复看到与内存相关的警告,这意味着您需要将设置提升到下一个级别。
配置 TeamCity 数据目录
TeamCity 数据目录的默认位置可以更改。 查看 这篇文章 以获取详细信息。
配置服务器以供生产使用
开箱即用的 TeamCity 服务器安装适合于评估目的。 对于生产使用,您需要执行额外的配置。 它通常包括以下步骤:
检查服务器是否使用了正确的 服务器端口,并且配置了 通过 HTTPS 的访问。
确保 TeamCity 服务器 URL 和 电子邮件服务器 的设置是正确的。
配置服务器进程以便在机器重新启动时依赖操作系统的 autostart。
使用可靠的存储空间来存放 TeamCity Data Directory。
使用一个 外部数据库。
配置 推荐的内存设置。 对于活跃或增长中的服务器,使用"最大设置"。
计划定期进行备份。
规划定期对最新的 TeamCity 发布版本进行 升级。
请考虑将
teamcity.installation.completed=true
行添加到<TeamCity 数据目录>\conf\teamcity-startup.properties
文件中 —— 这将阻止服务器在未找到此类用户的情况下创建管理员用户。请务必阅读关于配置服务器以提高性能的注释和安全注释。