ThingWorx Flow > 설치 및 구성 > ThingWorx Flow 설치 > ThingWorx Flow의 설치 후 작업 단계
ThingWorx Flow의 설치 후 작업 단계
이 단계는 모든 설치 시나리오에 적용됩니다.
ThingWorx Flow 사용을 시작하기 전에 다음 사후 설치 단계를 완료합니다.
1. Linux의 경우 현재 관리자 사용자에게 필요한 사용 권한 부여
ThingWorx Flow를 설치하는 동안 설치 구성 사용자 이름 입력 필드에 ThingWorx Flow 설치 관리자를 실행하는 관리자 이름을 입력하지 않은 경우 <실제 관리자 사용자>twxflow 그룹(설치 중에 생성됨)에 추가합니다.
2. CA에서 서명한 인증서를 사용하여 호스트(NGINX 서버) 구성
기본적으로 설치 관리자는 호스트에 대해 자체 서명된 SSL 인증서를 생성합니다. 인증서를 신뢰할 수 있는 인증 기관이 발급한 서명된 신뢰할 수 있는 타사 SSL 인증서(CA에서 서명한 인증서)로 변경하려면 orchestration.crt, extra.crt, orchestration.keynginx-keyfile 파일의 콘텐츠를 바꿉니다.
전용 개인 키와 공개 키가 있는 인증서(crt) 파일이 있으면 여기에 제공된 단계를 따릅니다.
ThingWorx 인증서를 사용하려면 여기에 제공된 단계를 따릅니다.
자체 서명된 인증서를 사용하여 연결된 응용 프로그램에서 제대로 작동하는 ThingWorx Flow를 설정하는 방법에 대한 자세한 내용은 자체 서명된 인증서가 연결된 응용 프로그램에 대해 사용될 때 ThingWorx Flow가 제대로 작동하도록 설정을 참조하십시오.
3. ThingWorx Foundation 키 저장소에 ThingWorx Flow 비밀 키 저장
설치 관리자를 사용하지 않고 수동으로 ThingWorx Foundation을 설치한 경우 ThingWorx Flow 설치 후 ThingWorx Flow 비밀 키를 ThingWorx Foundation 키 저장소에 저장하여 ThingWorx FlowThingWorx Foundation 간 안전한 통신을 설정합니다. 이 작업을 수행하는 자세한 단계는 여기에서 확인할 수 있습니다.
4. SSO 설정이 올바르게 수행되어야 함
다른 시스템에 ThingWorx Flow를 설치하거나 버전이 9.1 이전인 경우 sso-settings.json 파일 구성에 나와 있는 ThingWorx Flow 설치에 대한 전용 지침을 수행해야 합니다.
5. PingFederate 구성
PingFederate를 사용 중인 경우 서비스 공급자의 역할을 수행하는 ThingWorx OAuth PingFederate 클라이언트에 OAuth 리디렉션 URI(https://<ThingWorx Flow Nginx 호스트 이름>:<ThingWorx Flow Nginx 포트 번호>/Thingworx/oauth2_authorization_code_redirect)를 추가합니다.
ThingWorx Flow가 OAuth 커넥터를 사용하며 사용자가 PingFederate를 사용하는 경우 서비스 공급자 역할을 수행하는 ThingWorx Flow OAuth PingFederate에도 OAuth 리디렉션 URI를 제공해야 합니다. 예를 들어, 리소스 공급자로 Windchill를 사용하는 경우, https://<ThingWorx Flow Nginx 호스트 이름>:<ThingWorx Flow Nginx 포트 번호>/Thingworx/Oauths/oauth/return로 OAuth 리디렉션 URI를 제공합니다.
6. ThingWorx Flow의 배율 조정
ThingWorx Flow의 배율을 조정하려면 운영 체제에 따라 다음 설정을 수정해야 합니다.
* 
변경하기 전에 시스템에서 실행 중인 소프트웨어를 검토합니다.
운영 체제의 서비스에 대한 임시 포트를 5000에서 65535 사이로 설정합니다.
임시 포트 및 해당 범위에 대한 자세한 내용은 The Ephemeral Port Range(임시 포트 범위)를 참조하십시오.
소켓의 TIME_WAIT를 30초로 줄입니다.
자세한 내용은 Windows: 대기 시간 설정 또는 Linux: 대기 시간 설정을 참조하십시오.
7. 사용자 정의 커넥터를 구현하려면 ThingWorx Flow SDK 사용. 자세한 내용은 커넥터 배포를 참조하십시오.
8. 연결된 응용 프로그램에 자체 서명된 인증서가 사용되는 경우 ThingWorx Flow가 제대로 작동하도록 설정하려면 아래에 제공된 단계를 따릅니다.
ThingWorx Flow 9.2.0 이상 버전부터 자체 서명된 인증서를 사용하여 ThingWorx Flow에 연결되고 구성된 타사 응용 프로그램 또는 기타 PTC 응용 프로그램과 같은 모든 응용 프로그램의 경우 자체 서명된 인증서가 extra.crt 파일에 추가되어야 합니다. 아래 단계에 따라 extra.crt 파일을 추가합니다.
이러한 연결된 응용 프로그램은 ThingWorx FlowThingWorx Flow 커넥터(예: Windchill, Integrity, SAP), OAuth 통신용으로 사용되는 CAS/IDP(예: PingFederate, ADFS, Azure AD) 또는 HA 아키텍처용으로 사용되는 부하 분산 장치로 연결될 수 있습니다.
* 
연결된 응용 프로그램이 단일 CA의 서명된 인증서로 구성된 경우 아래에 설명된 단계를 건너뜁니다. 사용자가 ThingWorx Flow를 적절하게 사용할 수 있습니다.
그러나 CA의 서명된 인증서에 인증서 체인이 있고 해당 중간 인증서 중 하나가 자체 서명된 인증서인 경우 중간 자체 서명 인증서에 대해 아래 단계를 수행합니다.
* 
Linux의 경우 자체 서명된 인증서의 길이는 2048비트여야 합니다.
인증서를 추가하려면 다음 단계를 수행합니다.
a. ThingWorx Flow 서비스를 중지합니다.
Linux의 경우 다음 명령을 실행합니다.
sudo systemctl stop ThingWorx-Flow.service
b. <ThingWorx Flow 설치 디렉터리>\SSL로 이동하고 extra.crt 파일을 편집합니다.
이 파일에는 모든 연결된 응용 프로그램의 자체 서명된 인증서에 대한 콘텐츠가 포함됩니다.
c. 자체 서명된 인증서 콘텐츠를 PEM 형식으로 저장합니다.
* 
Chrome 브라우저를 사용하여 자체 서명된 인증서를 내보내면 PEM 형식(Base 64로 인코딩됨)의 자체 서명된 인증서를 받을 수 있습니다.
d. 자체 서명된 인증서 콘텐츠를 extra.crt 파일에 복사합니다.
e. 연결된 응용 프로그램의 자체 서명된 인증서마다 b단계 ~ d단계를 반복합니다.
f. 자체 서명된 인증서의 콘텐츠를 extra.crt 파일에 추가하고 저장합니다. 각 인증서 사이에 새 줄을 추가해야 합니다.
g. ThingWorx Flow 서비스를 시작합니다.
Linux의 경우 다음 명령을 실행합니다.
sudo systemctl start ThingWorx-Flow.service
9. 기본 포트가 아닌 다른 포트를 수신하도록 RabbitMQ 포트를 재구성합니다.
다음 조건이 충족될 경우 기본 포트 5672가 아닌 다른 포트를 수신하도록 ThingWorx Flow에 대한 RabbitMQ 포트를 재구성합니다.
a. ThingWorx AnalyticsThingWorx Flow보다 먼저 설치되었습니다.
b. ThingWorx Analytics에 대한 RabbitMQ 서비스가 기본 포트 5672를 사용합니다.
Windows의 경우
a. ThingWorx FoundationThingWorx Flow 서비스를 중지합니다.
b. <Flow 설치 디렉터리>\erlang\erts-9.0\lib\rabbitmq-server\rabbitmq_server-3.7.4\sbin 폴더에서 관리자 권한으로 명령 프롬프트를 열고 다음 명령을 실행합니다.
rabbitmq-service.bat stop
rabbitmq-service.bat remove
c. 설치 디렉터리\modules\RabbitMQ 폴더에 다음 내용으로 rabbitmq-env-conf.bat 파일을 작성합니다(HOSTNAME를 실제 호스트 이름으로 대체).
set SERVICENAME=RabbitMQFlow
set NODENAME=rabbitFlow@HOSTNAME
set NODE_PORT=5673
d. 설치 디렉터리\modules\RabbitMQ\rabbitmq.conf 파일에 다음 줄을 추가합니다.
management.listener.port = 15673
e. <Flow 설치 디렉터리>\modules\RabbitMQ\mnesia 아래의 파일과 폴더를 모두 삭제합니다.
f. 설치 디렉터리\erlang\erts-9.0\lib\rabbitmq-server\rabbitmq_server-3.7.4\sbin 폴더에서 관리자 권한으로 명령 프롬프트를 열고 다음 명령을 실행합니다.
rabbitmq-service.bat install
rabbitmq-service.bat start
g. platform-settings.json 파일에서 RabbitMQ 포트를 변경합니다.
"QueuePort": 5673,
h. deploymentConfig.json 파일에서 ux, trigger, engine, exchange, oauth 및 lookup 모듈에 대한 포트는 변경합니다.
"ADAPTERS": {
"AMQP": {
"CONFIG": {
"port": 5673,
i. ThingWorx FoundationThingWorx Flow 서비스를 다시 시작합니다.
Linux의 경우
a. RabbitMQ, ThingWorx FoundationThingWorx Flow 서비스를 중지합니다.
b. /etc/rabbitmqCreate 폴더에 다음 내용으로 rabbitmq-env.conf 파일을 작성합니다(HOSTNAME를 실제 호스트 이름으로 대체).
NODENAME=rabbit2@HOSTNAME
NODE_PORT=5673
c. 다음 내용으로 etc/rabbitmq/rabbitmq.conf 파일을 수정합니다.
[
{rabbit, [
{loopback_users, []},
{default_vhost, <<"orchestration">>},
{tcp_listeners, [5673]}
]
},
{rabbitmq_management, [
{listener, [{port, 15673}]},
{load_definitions, "/etc/rabbitmq/definitions.json"}
]
}
]
d. /var/lib/rabbitmq/mnesia 폴더 아래의 파일과 폴더를 모두 삭제합니다.
e. platform-settings.json 파일에서 RabbitMQ 포트를 변경합니다.
"QueuePort": 5673,
f. deploymentConfig.json 파일에서 ux, trigger, engine, exchange, oauth 및 lookup 모듈에 대한 포트는 변경합니다.
"port": 5673,
g. RabbitMQ, ThingWorx FoundationThingWorx Flow 서비스를 다시 시작합니다.
10. 작업 로그 회전 구성
ThingWorx Flow 9.2 이상을 사용하는 경우 로그 회전을 구성하는 옵션이 있습니다.
ThingWorxFlow > 모듈 아래에 있는 deploymentConfig.json 파일의 LOGGING 아래에서 다음 값을 편집합니다.
매개 변수
설명
MAX_LOG_SIZE
이는 바이트 수(kb, mb 또는 gb)여야 합니다. 단위 사용 시 접미사 단위인 'K', 'M' 또는 'G'를 숫자 바로 뒤에 추가해야 합니다. 기본값은 10M입니다.
이중 MAX_LOG_SIZE에 대한 편차가 있을 수 있습니다.
이는 로그 파일 크기를 설정하는 것입니다. 로그를 회전할 파일의 최대 크기입니다.
MAX_LOG_FILES
이 값은 숫자여야 하며 로그 파일의 양은 구성된 것보다 약간 커야 합니다. 기본값은 10입니다.
이중 MAX_LOG_FILES에 대한 편차가 있을 수 있습니다.
이는 보관할 최대 로그 수를 설정하는 것입니다.
ROTATION_DATE_PATTERN
이는 회전에 사용될 Moment.js 설명서에 따라 날짜 형식을 나타내는 문자열이어야 합니다. 기본값은 YYYY-MM-DD로 설정되어 있으며, 이는 로그가 해당 크기에 관계없이 매일 회전함을 의미합니다.
이 문자열에 사용된 메타 문자는 파일 회전의 빈도를 나타냅니다.
샘플 코드는 다음과 같습니다.
"LOGGING":
{ "MAX_LOG_SIZE": "10M",
"MAX_LOG_FILES": "10",
"ROTATION_DATE_PATTERN": "YYYY-MM-DD",
},
구성 가능 모듈은 Engine, Exchange, Lookup, Oauth, Trigger, Ux입니다.
쉼표를 사용하여 모든 로그 변수를 구분합니다.
로그는 PM2 > 로그 폴더 아래에서 사용 가능합니다.
로그가 올바른 형식인 <로그-유형/이름>-<YYYY-MM-DD 형식의 날짜>.log.<로그 번호>로 되어 있는지 확인합니다.
* 
ThingWorx Foundation이 아닌 다른 시스템에 ThingWorx Flow를 설치한 경우 이 시나리오에 해당하는 설치 후 단계를 완료해야 합니다.
도움이 되셨나요?