PostgreSQL 设置
PostgreSQL
PostgreSQL 的示例 Docker Compose 文件随附在可从 PTC 软件下载站点的 ThingWorx Platform 部分下载的 Dockerfiles 中。
* 
初始内存设置为 2 GB,最大内存设置为 4 GB。卷装载量与 docker-compose 文件有关。这是在容器中存储日志和配置文件以启用持久化方案的位置。
可以将以下选项添加到平台服务的 environment 部分,以控制对此实例的配置:
变量名称
默认值
备注
DATABASE_HOST
字符串
postgresql
指定 PostgreSQL 数据库主机的主机名、服务名称或 IP 地址。
DATABASE_PORT
编号
5432
指定 PostgreSQL 数据库的端口号。
DATABASE_ADMIN_USERNAME
字符串
postgres
指定 PostgreSQL 数据库的管理员用户名。
DATABASE_ADMIN_PASSWORD
字符串
PASSWORD
指定 PostgreSQL 数据库的管理员密码。
DB_TYPE
字符串
postgres
指定默认持久化方案提供工具的名称。请注意:ThingWorx 9.3.0 和更高版本中不支持此变量。
ENABLE_HTTP
true/false
true
针对容器的不安全流量启用 Tomcat 的 HTTP 连接器。
ENABLE_HTTPS
true/false
false
针对容器的安全流量启用 Tomcat 的 HTTPS 连接器。还必须提供一个密钥存储并设置 SSL_KEYSTORE_PASSWORD
SSL_KEYSTORE_PASSWORD
字符串
PASSWORD
指定 Tomcat SSL 通信所用密钥存储的密码。
SSL_KEYSTORE_BASE_PATH
字符串
/ThingworxPlatform
指定 Tomcat SSL 密钥存储的路径。如果将密钥存储存储在默认文件夹以外的容器的某个位置,则必须设置此变量。
SSL_KEYSTORE_FILENAME
字符串
keystore.jks
指定 Tomcat SSL 密钥存储的文件名。如果密钥存储的文件名并非默认名称,则必须设置此变量。
TOMCAT_SSL_PROTOCOLS
字符串
TLSv1.2
指定 Tomcat SSL 协议。如果要在 Tomcat 中覆盖已接受的 SSL 协议,请设置此变量。
SERVER_HTTP_PORT
字符串
8080
指定 Tomcat 监控的 HTTP 通信端口。请注意,如果此端口发生更改,则必须更改 Compose 文件中显示的端口。
SERVER_HTTPS_PORT
字符串
8443
指定 Tomcat 监控的 HTTPS 通信端口。请注意,如果此端口发生更改,则必须更改 Compose 文件中显示的端口。
DOCKER_DEBUG
true/false
false
切换容器启动时用于记录调试信息的选项。请注意,其中可能包含敏感信息。
TWX_DATABASE_USERNAME
字符串
""
指定要为数据库创建的 ThingWorx 用户。必须在启动 ThingWorx Platform 之前,手动设置此变量。请注意,对于 PostgreSQL,TWX_DATABASE_USERNAME
应与 TWX_DATABASE_SCHEMA 匹配 (由于现有实施的限制)
不应为 postgres
TWX_DATABASE_PASSWORD
字符串
""
指定数据库的 ThingWorx 用户的密码。必须在启动 ThingWorx Platform 之前,手动设置此变量。
TWX_DATABASE_SCHEMA
字符串
""
指定 ThingWorx 实例的架构名称。必须在启动 ThingWorx Platform 之前,手动设置此变量。请注意,对于 PostgreSQL,TWX_DATABASE_USERNAME 应与 TWX_DATABASE_SCHEMA 匹配 (由于现有实施的限制)。
TABLESPACE_LOCATION
字符串
/ThingworxPostgresqlStorage
指定表空间在数据库服务器上的位置。
IS_RDS
yes/no
no
切换用于连接 RDS PostgreSQL 数据库的选项。
LS_USERNAME
字符串
""
指定用于获取 ThingWorx 许可证的 PTC 登录用户名。
LS_PASSWORD
字符串
""
指定用于获取 ThingWorx 许可证的 PTC 登录密码。
ENABLE_BACKUP
true/false
false
切换用于备份的选项。
ENABLE_LOGGING
true/false
true
切换用于记录的选项。
ENCRYPT_CREDENTIALS
true/false
false
切换用于对 platform-settings.json 文件中的数据库和许可密码进行加密的选项。
THINGWORX_INITIAL_ADMIN_PASSWORD
字符串
""
为 ThingWorx 中的管理员用户设置初始密码。必须在启动 ThingWorx Platform 之前,手动设置此变量。ThingWorx 成功启动后,此密码可能会发生更改。
THINGWORX_INITIAL_METRICS_USER_PASSWORD
字符串
""
为 ThingWorx 中的 MetricsUser 设置初始密码。此为可选变量。请在启动 ThingWorx Platform 之前手动进行设置。ThingWorx 成功启动后,此密码可能会发生更改。
EXTPKG_IMPORT_POLICY_ENABLED
true/false
false
通过扩展包上载程序来控制扩展包导入的全局启用/禁用。
EXTPKG_IMPORT_POLICY_ALLOW_JARRES
true/false
false
控制其中包含 Jar (Java) 资源的扩展包的导入权限。如果值为 false 且扩展包中包含 jar 文件,则导入将失败。
EXTPKG_IMPORT_POLICY_ALLOW_JSRES
true/false
false
控制其中包含 Javascript 资源的扩展包的导入权限。如果值为 false 且扩展包中包含 javascript 文件,则导入将失败。
EXTPKG_IMPORT_POLICY_ALLOW_CSSRES
true/false
false
控制其中包含 CSS 资源的扩展包的导入权限。如果值为 false 且扩展包中包含 css 文件,则导入将失败。
EXTPKG_IMPORT_POLICY_ALLOW_JSONRES
true/false
false
控制其中包含 JSON 资源的扩展包的导入权限。如果值为 false 且扩展包中包含 json 文件,则导入将失败。
EXTPKG_IMPORT_POLICY_ALLOW_WEBAPPRES
true/false
false
控制其中包含 WebApps 资源的扩展包的导入权限。如果值为 false 且扩展包中包含 WebApp 资源文件,则导入将失败。
EXTPKG_IMPORT_POLICY_ALLOW_ENTITIES
true/false
false
控制其中包含不可扩展实体定义的扩展包的导入权限。如果值为 false 且扩展包中包含除扩展包实体以外的不可扩展实体定义,则导入将失败。
EXTPKG_IMPORT_POLICY_ALLOW_EXTENTITIES
true/false
false
控制其中包含可扩展实体定义的扩展包的导入权限。如果值为 false 且扩展包中包含除扩展包实体以外的可扩展实体定义,则导入将失败。
ENABLE_CONSOLE_OUTPUT
true/false
false
启用控制台日志记录。
ENABLE_CLUSTERED_MODE
true/false
false
设置为 true 以启用群集模式。
HTTP_PORT
编号
Null
用于 HTTP 通信的端口应与 SERVER_HTTP_PORT 相匹配。用于服务发现。
HTTP_SERVICE_NAME
字符串
thingworx-http
ThingWorx Platform 的 HTTP 服务名称。用于服务发现。
HTTPS_PORT
编号
Null
用于 HTTPS 通信的端口应与 SERVER_HTTPS_PORT 相匹配。用于服务发现。
HTTPS_SERVICE_NAME
字符串
thingworx-https
ThingWorx Patform 的 HTTPS 服务名称。用于服务发现。
TOMCAT_SSL_CIPHERS
字符串
""
以逗号分隔的密码套件可选列表。将 HTTPS 连接限制为仅列出的这些密码。如果未设置,则使用默认 JVM 密码。
TOMCAT_COMPRESSION
on/off/force
off
启用或禁用 Tomcat 压缩。连接器可以使用 HTTP/1.1 GZIP 压缩,以节省服务器带宽。可接受值包括 off (禁用压缩),on (允许压缩,这会导致文本数据被压缩) 和 force (在所有情况下都强制压缩)。
* 
如果连接器支持 sendfile 功能 (例如,NIO 连接器),则使用 sendfile 将优先于压缩。
TOMCAT_COMPRESSION_MIN_SIZE
编号
2048
用于指定:当 TOMCAT_COMPRESSIONon 时,对输出进行压缩时的最低数据量。
TOMCAT_USE_SEND_FILE
true/false
true
启用或禁用 sendfile 功能。使用 sendfile 将禁用 Tomcat 可能对响应执行的任何压缩。
COORDINATOR_HOSTS
字符串
""
以逗号分隔的 Zookeeper 端点列表。每个端点为 _host_:_port_
IGNITE_ZK_CONNECTION
字符串
""
用于服务发现的 Zookeeper 主机和端口
ZK_SSL_ENABLED
true/false
false
为 Zookeeper 启用 SSL。
ZK_SSL_KEYSTORE_LOCATION
字符串
/certs/zookeeper.p12
Zookeeper KeyStore 的路径。
ZK_SSL_KEYSTORE_PASSWORD
字符串
""
Zookeeper KeyStore 的密码。
ZK_SSL_TRUSTSTORE_LOCATION
字符串
""
Zookeeper TrustStore 的路径。
ZK_SSL_TRUSTSTORE_PASSWORD
字符串
""
Zookeeper KeyStore 的密码。
CATALINA_OPTS
字符串
""
传递到 Tomcat 的 Java 运行时选项。
DATABASE_ADMIN_SCHEMA
字符串
postgres
DB 服务器上默认架构的名称。
TWX_KEYSTORE_PASSWORD
字符串
""
用于设置 ThingWorx KeyStore 密码的密码。如果未设置,则 ThingWorx 会在首次启动时创建随机密码。
设置此密码以确保特定密码用于 HA 设置和恢复旧数据/卷。
SECRET_CX_APP_KEY
字符串
""
Connection Server 连接到 ThingWorx 时会用到的应用程序密钥
SECRET_PROVISIONING_APP_KEY
字符串
""
用于在首次启动 ThingWorx 时对其进行配置的应用程序密钥。
EXTPKG_IMPORT_POLICY_HA_COMPATIBILITY_LEVEL
WARN/DENY
WARN
用于控制是允许还是拒绝与 HA 兼容的扩展的扩展导入策略配置。选项有 WARNDENY
如果设置为 WARN,则系统会导入与 HA 不兼容的扩展,并将警告写入应用程序日志。
如果设置为 DENY,则仅允许导入与 HA 兼容的扩展。
ENABLE_PROPERTY_TRANSFORM
true/false
false
设置为 true 以启用属性转换。
PROPERTY_TRANSFORM_RABBITMQ_HOST
""
localhost
用于属性转换的 RabbitMQ 主机。
PROPERTY_TRANSFORM_RABBITMQ_PORT
字符串
5672
用于属性转换的 RabbitMQ 端口。
PROPERTY_TRANSFORM_RABBITMQ_USERNAME
字符串
admin
用于属性转换的 RabbitMQ 用户名。
PROPERTY_TRANSFORM_RABBITMQ_PASSWORD
字符串
""
用于属性转换的 RabbitMQ 密码。
PROPERTY_TRANSFORM_RABBITMQ_VHOST
字符串
/
用于属性转换的 RabbitMQ 虚拟主机。
POSTGRES_USER
字符串
""
指定 PostgreSQL 数据库的管理员用户名。
POSTGRES_PASSWORD
字符串
""
指定 PostgreSQL 数据库的管理员密码。
POSTGRES_DB
字符串
""
指定 PostgreSQL 数据库的名称。
有关 PostgreSQL 的其他变量及其详细信息,请参见 Docker Hub
IGNITE_SSL_ACTIVE
true/false
false
为 Ignite 启用 SSL。
IGNITE_KEYSTORE_FILE_PATH
字符串
/certs/ignite.pfx
Ignite KeyStore 的路径。
IGNITE_KEYSTORE_PASSWORD
字符串
""
Ignite KeyStore 的密码。
ZK_SASL_ENABLED
true/false
false
在 Zookeeper 中启用 SASL 身份验证。
ZK_SASL_SECURITY_AUTH_LOGIN_CONFIG
字符串
/tmp1/jaas.conf
JAAS 配置文件的路径。
ZK_SASL_SECURITY_KRB5_CONF
字符串
/tmp1/krb5.conf
Kerberos 配置文件的路径。
AKKA_SSL_ENABLED
true/false
true
打开/关闭 TLS Akka 通信。
AKKA_KEYSTORE
字符串
/certs/keystore.jks
Akka keystore 的路径可存储在 certs 卷中。例如,/certs/keystore.jks
AKKA_TRUSTSTORE
字符串
/certs/truststore.jks
Akka truststore 的路径可存储在 certs 卷中。例如,/certs/truststore.jks
AKKA_KEYSTORE_PASSWORD
字符串
未设置默认值。
AKKA_KEYSTORE 中的密码。
AKKA_TRUSTSTORE_PASSWORD
字符串
未设置默认值。
AKKA_TRUSTSTORE 中的密码。
还可以将卷路径更改为特定于站点的位置。卷路径采用以下语法:
"./path_to_local_mount:/path_to_container_mount"
例如:
"/opt/ThingworxPlatform:/ThingworxPlatform"
* 
更新卷路径时,仅更改本地装载,因为内部容器的装载点一直不变。
为便于测试,提供了 PostgreSQL Docker 镜像。请勿使用供生产使用的 PostgreSQL Docker 镜像。最好设置设置您自己的 PostgreSQL 环境进行生产。
要连接位于 Docker 之外的 PostgreSQL 数据库,请从 Compose 文件中移除 postgresql 服务,然后将以下变量添加到 platform 环境变量中:
DATABASE_ADMIN_USERNAME
DATABASE_ADMIN_PASSWORD
这些变量是 PostgreSQL 数据库上已获授权的管理员帐户,用于创建首次启动时 ThingWorx 容器加载的用户、数据库或架构。有关使用外部数据库作为平台设置的 Compose 示例文件,请参阅对 ThingWorx Docker 使用外部 PostgreSQL 数据库
如果使用的是外部数据库,则可以正常手动安装 ThingWorx 架构,而不提供 ThingWorx Docker 容器的管理员凭据。为此,请相应地设置 DATABASE_HOSTDATABASE_PORTTWX_DATABASE_USERNAMETWX_DATABASE_PASSWORDTWX_DATABASE_SCHEMA 变量。
这对您有帮助吗?