手动安装
Windows 安装
安装 Java、Apache Tomcat 和 ThingWorx
安装 Java 和 Apache Tomcat
1. 有关 Java 版本要求的信息,请参阅 ThingWorx 系统要求
2. 下载并安装所需的 Java 版本。
9.0:Java
9.1 及更高版本:OpenJDKJava 11
解压缩已下载的文件 (例如 openjdk-11 zip) 并复制解压缩文件夹中的 jdk-<xxx> 文件夹。将 jdk 文件夹粘贴到以下位置:C:\\Program Files\Java
3. 确保已正确配置 Java 环境变量:
a. 找到 Java 安装目录并复制路径。默认路径为 C:\Program Files\Java\jdk_<版本号>
b. 从 Windows 开始菜单中,导航至高级系统属性。这些属性的路径将根据 Windows 版本的不同而有所不同。例如,对于 Windows 10,搜索环境变量,然后选择编辑系统环境变量
c. 单击环境变量
d. 系统变量部分中,单击新建
e. 变量名称字段中,输入 JAVA_HOME
f. 变量值字段中,输入在步骤 a 中定义的 Java 安装的路径。
g. 编辑路径变量并添加新的 %JAVA_HOME%\bin 值。
h. 单击“确定”
4. 有关 Apache Tomcat 版本要求的信息,请参阅 ThingWorx 系统要求
5. 要下载 32 位/64 位 Windows 服务安装程序 (pgp、sha1、sha512),请访问 Apache Tomcat 网站
* 
最佳做法包括通过使用每个版本的签名或校验和来验证 Tomcat 文件的完整性。有关详细信息,请参阅 Apache 的文档
6. Apache Tomcat 设置向导启动。单击“下一步”
7. 单击“我同意”
8. “选择组件”部分,使用默认设置。单击“下一步”
9. “HTTP/1.1 连接器端口” 字段,键入“80” (或其他可用端口)。
10. “Tomcat 管理员登录”字段,输入 Tomcat user name 和 Tomcat 管理的唯一且安全的密码。在 ThingWorx 中,这是必需操作,而非可选操作。
11. 单击“下一步”
12. 单击“下一步”
13. 单击 Install
14. 单击 Finish
15. 启动 Tomcat。单击“配置 Tomcat”。在“配置 Tomcat”窗口中,单击 Java 选项卡。
16. “Java 选项”字段中,将以下内容添加至选项字段的末尾:
-Dserver -Dd64
-XX:+UseG1GC
-Dfile.encoding=UTF-8
-Duser.timezone=UTC
-Djava.library.path=<path to Tomcat>\webapps\Thingworx\WEB-INF\extensions
-Dlog4j2.formatMsgNoLookups=true
* 
Djava.library.path 示例:
-Djava.library.path=C:\Program Files\Apache Software Foundation\Tomcat 9.0\webapps\Thingworx\WEB-INF\extensions
* 
有关这些选项的详细信息以及受托管和/或面向公众环境的其他选项,请参阅 Apache Tomcat Java 选项设置
17. “初始内存池”“最大内存池”字段设置为操作系统可用内存的 75% (例如:对于 16GB RAM 的系统,则设置为 12GB)。有关其他信息,请参阅 JVM 优化
18. 单击“确定”
19. 在 Tomcat 的安装位置,打开 conf/web.xml。通过将以下内容添加至 web.xml 文件来替换默认错误页面 (默认值为 stacktrace)。将以下内容置于 web-app 标记内 (在 welcome-file-list 标记后)。
* 
正确配置的 Web 应用程序将覆盖位于 webapps/APP_NAME/WEB-INF/web.xml 中的此默认值,以免产生问题。
<error-page><exception-type>java.lang.Throwable</exception-type><location>/error.jsp</location></error-page>
20. 在 Tomcat 的安装位置,打开 conf/server.xml。在 <Host> </Host> 标记内添加以下内容:
<Valve className="org.apache.catalina.valves.ErrorReportValve" showReport="false" showServerInfo="false" />
* 
出于安全方面的原因,禁用 AJP 连接器至关重要,如果默认情况下未禁用此连接器,则需要执行以下步骤。
21. 在 Tomcat 的安装位置上,打开 conf/server.xml,然后搜索以下行。找到后,对其进行备注并保存文件:
<Connector port ="8009" protocol="AJP/1.3" redirectPort="8443"/>
* 
在 Apache Tomcat 9.0 及更高版本中,rejectIllegalHeader 属性的默认值为 true。PTC 不建议且不支持通过手动修改 conf/web.xml 文件将此属性设置为 false。
22. 移除位于 /<path_to_tomcat>/webapps/ 中的所有 Tomcat 示例 webapps (docsexampleshost-managermanagerROOT)。移除这些应用程序可防止对 Tomcat 进行不必要的访问,特别是在允许用户查看其他用户 cookie 的情况下。
23. 如果您的应用程序需要特定的密码套件,请参阅以下文档以了解配置信息:
24. PTC 强烈建议在运行 ThingWorx 时使用 TLS。有关设置 TLS 的详细说明,请参阅本技术支持文章
25. (可选步骤) 要增加影响静态文件缓存的默认缓存设置,请在 /conf/context.xml 文件中的 <Context></Context> 标记中添加以下行:
<Resources cacheMaxSize="501200" cacheObjectMaxSize="2048" cacheTtl="60000"/>
增加此设置可提高性能并避免 Tomcat 中出现以下消息:
WARNING: Unable to add the resource at [/Common/jquery/jquery-ui.js] to the cache
because there was insufficient
free space available after evicting expired cache entries -
consider increasing the maximum size of the cache
安装 ThingWorx
1. 在安装 Tomcat 所在驱动器的根目录下,创建名为 ThingworxPlatformThingworxStorage 的文件夹。
* 
如果要在其他位置创建这两个文件夹,请参阅此处的步骤。
* 
这两个文件夹必须具有相应的所有权和访问权限。它们应归运行 Tomcat 服务的同一用户所有,并且应该为此用户分配完全控制权限。此用户通常为 NETWORK_SERVICE,但在您的环境中可能会有所不同。如果没有这些权限,服务器将无法启动。
2. 获取所使用数据库的相应 Thingworx.war 文件。最新的 ThingWorx 下载已发布在以下位置:support.ptc.com“下载软件”>“订购或下载软件更新”> ThingWorx Foundation >“版本 X.X”> ThingWorx PostgreSQLThingWorx MssqlThingWorx H2ThingWorx AzureSql >“最近的日期代码” > ThingWorx-Platform-<数据库类型>-<版本> 下。
3. platform-settings.json 放置在 ThingworxPlatform 文件夹中。
* 
如果您使用的是 H2,则必须创建 platform-settings.json 文件,因为下载内容中不包括此文件。
4. 配置管理员密码。
将以下 AdministratorUserSettings 部分 (在 PlatformSettingsConfig 中) 添加至 platform-settings.json 文件,并设置至少 14 个字符的密码。有关放置的详细信息,请参阅 platform-settings.json 配置详细信息。有关设置密码的其他信息,请参阅密码
* 
请勿复制和粘贴以下示例,由此可能导致 plateform-settings.json 中的格式出错。请转而单击此处并从文件复制。

{
"PlatformSettingsConfig": {
"AdministratorUserSettings": {
"InitialPassword": "changeme"
}
}
}
* 
如果 Tomcat 无法启动,并报告错误消息:Check the InitialPassword setting in the AdministratorUserPassword section in platform-settings.json...,请检查以下内容:
plateform-settings.json 中是否存在密码设置。
密码是否有效 (默认 14 个或以上字符)
platform-settings.json 文件格式是否正确。格式不正确可能会导致错误。
5. 启用扩展导入。默认情况下,所有用户的扩展导入均处于禁用状态。
将以下内容添加至 PlatformSettingsConfig 下的 platform-settings.json 文件。将以下 ExtensionPackageImportPolicy 参数更新为 true,以允许导入扩展。有关控制扩展导入的最佳做法,请参阅导入扩展
"ExtensionPackageImportPolicy": {
"importEnabled": <true or false>,
"allowJarResources": <true or false>,
"allowJavascriptResources": <true or false>,
"allowCSSResources": <true or false>,
"allowJSONResources": <true or false>,
"allowWebAppResources": <true or false>,
"allowEntities": <true or false>,
"allowExtensibleEntities": <true or false>
},
6. 如果未使用 H2 作为数据库,请跳过此步骤。在 platform-settings.json 文件中添加 H2 的用户名和密码。有关详细信息,请参阅 platform-settings.json 配置详细信息
* 
ThingWorx 与 H2 数据库的连接需要用户定义的用户名和密码,否则服务器不会启动。此设计充分减少了 CVE-2018-10054 所表示的任何潜在漏洞。
},
"PersistenceProviderPackageConfigs":{
"H2PersistenceProviderPackage":{
"ConnectionInformation":
{
"password": "<addsecurepassword>",
"username": "twadmin"
}
},
7. 如果未使用 Azure SQL 作为数据库,请跳过此步骤。打开 platform-settings.json 文件并添加 Azure SQL 持久化方案提供工具参数:
"PersistenceProviderPackageConfigs": {
"AzuresqlPersistenceProviderPackage": {
"ConnectionInformation": {
"driverClass": "com.microsoft.sqlserver.jdbc.SQLServerDriver",
"jdbcUrl": "jdbc:sqlserver://<server name>:<port>;databaseName=thingworx;applicationName=Thingworx;",
"password": "<database password>",
"username": "twadmin"
}
}
}
8. 如果数据库未使用 H2,请转至数据库安装和配置,对数据库进行设置。数据库配置完成后,返回到下一步。如果正在使用 H2,请继续执行下一步。
9. 配置许可:
打开 plateform-settings.json 文件并将以下内容添加到 PlatformSettingsConfig 部分 (有关放置的详细信息,请参阅 platform-settings.json 配置详细信息)。
* 
如果您正在执行离线安装 (无网络访问权限),则不需要将许可信息添加至 plateform-settings.json 文件。有关未连接站点的信息,请参阅 ThingWorx Platform 许可,然后跳过此步骤。
{
"PersistenceProviderPackageConfigs": {
"PostgresPersistenceProviderPackage": {
"ConnectionInformation": {
"jdbcUrl": "jdbc:postgresql://localhost:5432/thingworx",
"password": "<password>",
"username": "<username>"
}
}
},
"PlatformSettingsConfig": {
"LicensingConnectionSettings": {
"username":"<PTC_support_portal_username>",
"password":"<PTC_support_portal_password>"
}
}
}
停止 Tomcat。
复制 Thingworx.war 文件并将其放置在 Tomcat 安装程序的以下位置:
<Tomcat_Install_Location>\webapps
启动 Tomcat。
请验证是否已在 ThingworxPlatform 文件夹中创建许可文件 (successful_license_capability_response.bin)。
* 
如果设置填写错误或服务器无法连接,则将在 ThingworxPlatform 文件夹中创建许可请求文本文件 (licenseRequestFile.txt)。在这种情况下,必须手动创建许可。(如果未创建许可,ThingWorx 将在限时模式下启动。在限时模式下,获得许可的实体无法持久保存到数据库。获得许可的实体包括事物、混搭、主数据、小工具、用户和持久化方案提供工具)。
有关通过我们的许可管理网站获取 ThingWorx 未连接站点许可证的详细信息,请参阅未连接站点 (未连接到 PTC 支持门户) 的 ThingWorx Platform 许可。在这种情况下,如果手动生成了许可证文件,则必须将其重命名为 license_capability_response.bin 并将其放置在 ThingworxPlatform 文件夹中。
* 
有关许可故障排除的信息,请参阅此支持文章
10. 按照加密密码中的步骤加密许可证服务器密码。
11. 如果使用 Azure SQL 作为数据库,请按照以下步骤下载 JDBC 驱动程序。如果不使用 Azure SQL,请跳过此步骤。
a. 转至 Azure 门户并导航至您的 ThingWorx 数据库。
b. 选择连接字符串
c. 选择 JDBC 选项卡。
d. 选择下载 Microsoft JDBC Driver for SQL Server
e. 选择 Microsoft JDBC Driver 6.0 for SQL Server
f. 提取 ThingWorx VM 中下载的二进制文件并将其复制到 Tomcat lib 目录中。
12. 重新启动 Tomcat。
13. 要启动 ThingWorx,请在 Web 浏览器中转至 http://<servername>:<port>/Thingworx
14. 更改初始管理员密码。
a. 在 Composer 中,选择“管理员”>“更改密码”
b. “更改密码”窗口中,输入“当前密码”“新密码”以及“确认密码”
* 
密码不应为容易猜到的或者已知通用的密码,其长度至少应为 14 个字符,并且应为包含大小写字母、数字和特殊字符的组合。
c. 删除 plateform-settings.json 文件中的初始管理员密码。
15. 选择“完成”
16. (可选步骤) 要确定您的许可状态,请在 Composer 中打开“监控”>“子系统”> “许可子系统设置”来确认许可中包括的功能列表 (获得许可的实体)。如果未出现获得许可的实体,则您正处于限时模式下。
这对您有帮助吗?