|
L'aggiornamento manuale da una nuova installazione di ThingWorx Flow 8.4.x - 9.x non è disponibile. Se si desidera eseguire l'aggiornamento da una nuova installazione di ThingWorx Flow 8.4.x - 9.x è necessario eseguire la
migrazione di ThingWorx Flow.
|
|
Se si desidera eseguire l'aggiornamento da una nuova installazione di ThingWorx Flow 8.5.x e versioni successive fino alla 9.x è necessario utilizzare il
programma di installazione per l'aggiornamento automatico di ThingWorx Flow.
|
Copiare da
|
Copiare in
|
---|---|
/ThingworxOrchestration/modules/db_seed/config
|
/ThingworxOrchestration/modules-<più recente di 8.x.x>/db_seed/
|
/ThingworxOrchestration/modules/db_seed/migration_config.json
|
/ThingworxOrchestration/modules-<più recente di 8.x.x>/db_seed/
|
/ThingworxOrchestration/modules/db_seed/SHA1
Facoltativo, solo se esiste.
|
/ThingworxOrchestration/modules-<più recente di 8.x.x>/db_seed/
|
/ThingworxOrchestration/modules/engine/config
|
/ThingworxOrchestration/modules-<più recente di 8.x.x>/engine/
|
/ThingworxOrchestration/modules/engine/deploymentConfig.json
|
/ThingworxOrchestration/modules-<più recente di 8.x.x>/engine/
|
/ThingworxOrchestration/modules/engine/SHA1
Facoltativo, solo se esiste.
|
/ThingworxOrchestration/modules-<più recente di 8.x.x>/engine/
|
/ThingworxOrchestration/modules/exchange/config
|
/ThingworxOrchestration/modules-<più recente di 8.x.x>/Exchange/
|
/ThingworxOrchestration/modules/exchange/deploymentConfig.json
|
/ThingworxOrchestration/modules-<più recente di 8.x.x>/Exchange/
|
/ThingworxOrchestration/modules/exchange/SHA1
Facoltativo, solo se esiste.
|
/ThingworxOrchestration/modules-<più recente di 8.x.x>/Exchange/
|
/ThingworxOrchestration/modules/lookup/config
|
/ThingworxOrchestration/modules-<più recente di 8.x.x>/Lookup/
|
/ThingworxOrchestration/modules/lookup/deploymentConfig.json
|
/ThingworxOrchestration/modules-<più recente di 8.x.x>/Lookup/
|
/ThingworxOrchestration/modules/lookup/SHA1
Facoltativo, solo se esiste.
|
/ThingworxOrchestration/modules-<più recente di 8.x.x>/Lookup/
|
/ThingworxOrchestration/modules/oauth/config
|
/ThingworxOrchestration/modules-<più recente di 8.x.x>/OAuth/
|
/ThingworxOrchestration/modules/oauth/deploymentConfig.json
|
/ThingworxOrchestration/modules-<più recente di 8.x.x>/OAuth/
|
/ThingworxOrchestration/modules/oauth/SHA1
Facoltativo, solo se esiste.
|
/ThingworxOrchestration/modules-<più recente di 8.x.x>/OAuth/
|
/ThingworxOrchestration/modules/static-ux/config
|
/ThingworxOrchestration/modules-<più recente di 8.x.x>/static-UX/
|
/ThingworxOrchestration/modules/static-ux/SHA1
Facoltativo, solo se esiste.
|
/ThingworxOrchestration/modules-<più recente di 8.x.x>/static-UX/
|
/ThingworxOrchestration/modules/trigger/config
|
/ThingworxOrchestration/modules-<più recente di 8.x.x>/trigger/
|
/ThingworxOrchestration/modules/trigger/deploymentConfig.json
|
/ThingworxOrchestration/modules-<più recente di 8.x.x>/trigger/
|
/ThingworxOrchestration/modules/trigger/SHA1
Facoltativo, solo se esiste.
|
/ThingworxOrchestration/modules-<più recente di 8.x.x>/trigger/
|
/ThingworxOrchestration/modules/ux/config
|
/ThingworxOrchestration/modules-<più recente di 8.x.x>/UX/
|
/ThingworxOrchestration/modules/ux/deploymentConfig.json
|
/ThingworxOrchestration/modules-<più recente di 8.x.x>/UX/
|
/ThingworxOrchestration/modules/ux/SHA1
Facoltativo, solo se esiste.
|
/ThingworxOrchestration/modules-<più recente di 8.x.x>/UX/
|
/ThingworxOrchestration/modules/orchestration.pm2.json
|
/ThingworxOrchestration/modules-<più recente di 8.x.x>/
|
/ThingworxOrchestration/modules/cache
|
/ThingworxOrchestration/modules-<più recente di 8.x.x>/
|
/ThingworxOrchestration/modules/node_modules/config
|
/ThingworxOrchestration/modules-<più recente di 8.x.x>/symphony-connectors/node_modules/
|
|
In Windows, prima di procedere con la ridenominazione delle cartelle, è necessario arrestare il processo epmd.exe.
|
|
Se si salta questo passo, eliminare le cartelle seguenti dalla cartella modules:
• ptc-flow-pm2 / pm2
• nginx-1.18.0.zip
• node-v12.19.0-win-x64.tar.gz
|
|
È possibile impostare la velocità (richieste al secondo) su un altro numero. Tuttavia, 500r/s è un numero ragionevole di richieste al secondo che i client illegittimi non possono raggiungere.
|
Posizione
|
Passo 1: trovare la posizione
|
Passo 2: aggiungere il contenuto specificato dopo la posizione
|
Passo 3: rimuovere il commento dalla riga specificata
|
Passo 4: aggiungere il contenuto specificato alla riga non commentata
|
Passo 5: verificare il risultato
|
---|---|---|---|---|---|
location /Thingworx/Oauths
|
location /Thingworx/Oauths {
# limit_req zone=by_ip; # limit_conn addr 500; |
# block 'options' http method for security reasons
if ($request_method = 'OPTIONS') { return 405; } |
# limit_req zone=by_ip;
|
burst=10 nodelay
|
location /Thingworx/Oauths {
# block 'options' http method for security reasons if ($request_method = 'OPTIONS') { return 405; } limit_req zone=by_ip burst=10 nodelay; # limit_conn addr 500; |
location /Thingworx/Triggers
|
location /Thingworx/Triggers {
# limit_req zone=by_ip; # limit_conn addr 500; |
# block 'options' http method for security reasons
if ($request_method = 'OPTIONS') { return 405; } |
# limit_req zone=by_ip;
|
burst=10 nodelay
|
location /Thingworx/Triggers {
# block 'options' http method for security reasons if ($request_method = 'OPTIONS') { return 405; } limit_req zone=by_ip burst=10 nodelay; # limit_conn addr 500; |
location @flow_api
|
location @flow_api {
# limit_req zone=by_ip; # limit_conn addr 500; |
# block 'options' http method for security reasons
if ($request_method = 'OPTIONS') { return 405; } |
# limit_req zone=by_ip;
|
burst=10 nodelay
|
location @flow_api {
# block 'options' http method for security reasons if ($request_method = 'OPTIONS') { return 405; } limit_req zone=by_ip burst=10 nodelay; # limit_conn addr 500; |
Posizione
|
Passo 1: trovare la posizione
|
Passo 2: rimuovere il commento dalla riga specificata
|
Passo 3: aggiungere il contenuto specificato alla riga non commentata
|
Passo 4: verificare il risultato
|
---|---|---|---|---|
location /Thingworx/Composer/apps/flow
|
location /Thingworx/Composer/apps/flow {
rewrite /Thingworx/Composer/apps/flow/(.*) /$1 break; # limit_req zone=by_ip; # limit_conn addr 500; |
# limit_req zone=by_ip;
|
burst=10 nodelay
|
location /Thingworx/Composer/apps/flow {
rewrite /Thingworx/Composer/apps/flow/(.*) /$1 break; limit_req zone=by_ip burst=10 nodelay; # limit_conn addr 500; |
location ~* \.(jpg|jpeg|png|gif|ico|css|js|svg|woff2?)$
|
location ~* \.(jpg|jpeg|png|gif|ico|css|js|svg|woff2?)$ {
rewrite /Thingworx/Composer/apps/flow/(.*) /$1 break; # limit_req zone=by_ip burst=10 nodelay; expires $expires; |
# limit_req zone=by_ip burst=10 nodelay;
|
—
|
location ~* \.(jpg|jpeg|png|gif|ico|css|js|svg|woff2?)$ {
rewrite /Thingworx/Composer/apps/flow/(.*) /$1 break; limit_req zone=by_ip burst=10 nodelay; expires $expires; |
location /Thingworx/Lookups
|
location /Thingworx/Lookups {
|
# limit_req zone=by_ip;
|
burst=10 nodelay
|
location /Thingworx/Lookups {
add_header 'Access-Control-Allow-Credentials' 'true'; add_header 'Access-Control-Allow-Methods' 'GET,POST,PUT,DELETE,OPTIONS,HEAD'; add_header 'Access-Control-Allow-Headers' 'Authorization, Content-Length, X-Requested-With, application_uid, application_id, application_api_key, authtoken, Content-Type'; add_header 'Access-Control-Max-Age' '1728000'; if ($request_method = 'OPTIONS') { return 200; } limit_req zone=by_ip burst=10 nodelay; # limit_conn addr 500; |
location /Thingworx/WS
|
location /Thingworx/WS {
|
# limit_req zone=by_ip;
|
burst=10 nodelay
|
location /Thingworx/WS {
limit_req zone=by_ip burst=10 nodelay; # limit_conn addr 500; |
location /Thingworx/RemoteTunnel
|
location /Thingworx/RemoteTunnel {
|
# limit_req zone=by_ip;
|
burst=10 nodelay
|
location /Thingworx/RemoteTunnel {
limit_req zone=by_ip burst=10 nodelay; # limit_conn addr 500; |
location /Thingworx/WSTunnelClient/
|
location /Thingworx/WSTunnelClient/ {
|
# limit_req zone=by_ip;
|
burst=10 nodelay
|
location /Thingworx/WSTunnelClient/ {
limit_req zone=by_ip burst=10 nodelay; # limit_conn addr 500; |
location /Thingworx/WSTunnelServer/
|
location /Thingworx/WSTunnelServer/ {
|
# limit_req zone=by_ip;
|
burst=10 nodelay
|
location /Thingworx/WSTunnelServer/ {
limit_req zone=by_ip burst=10 nodelay; # limit_conn addr 500; |
location /Thingworx
|
location /Thingworx {
|
# limit_req zone=by_ip;
|
burst=10 nodelay
|
location /Thingworx {
limit_req zone=by_ip burst=10 nodelay; # limit_conn addr 500; |
|
Completare la procedura descritta in questa sezione solo se sono stati sviluppati connettori personalizzati utilizzando l'SDK ThingWorx Flow.
|
|
Controllare i log di RabbitMQ per verificare che il servizio RabbitMQ sia stato avviato completamente prima di avviare il servizio successivo.
Windows: /ThingworxOrchestration/modules/RabbitMQ/log/rabbit@{hostname}.log
Linux: /var/log/rabbitmq/rabbit@{hostname}.log
|
|
Se l'esecuzione del flusso nel motore si arresta bruscamente, attenersi alla procedura descritta in
Risoluzione dei problemi relativi all'installazione.
|