API 포털 설치 및 확인
본 장에서는 API 포털의 프론트엔드(Frontend)와 백엔드(Backend) 설치 방법에 대해 설명합니다.
설치
다음은 Linux 환경에서 API 포털을 설치하는 과정에 대한 설명입니다. 이 설명은 /home 디렉터리에서 설치를 진행하는 것으로 가정합니다.
-
API 포털 설치 파일(anyapi_portal_v1.0.0.tar.gz)의 압축을 해제합니다.
$ sudo tar –zxvf anyapi_portal_v1.0.0.tar.gz
설치 파일의 압축을 해제하면 아래와 같은 구조를 확인할 수 있습니다.
backend |-- apache-tomcat-10.1.24 |-- webapps |-- ROOT.war |-- conf |-- application.properties etc |-- nginx.conf |-- portaldbsetting.sql frontend |-- build |-- storybook-static jdk-17.0.7
항목 설명 ROOT.war
백엔드 바이너리
application.properties
DB, Master, MockServer 설정 파일
nginx.conf
샘플 nginx.conf 파일
portaldbsetting.sql
Dummy 데이터
build
프론트엔드 바이너리
storybook-static
storybook 바이너리
jdk-17.0.7
JDK 파일
-
Frontend 및 Storybook 서버 설정을 합니다.
샘플 nginx.conf 파일 내용으로 원본 nginx.conf 파일을 수정합니다. 설치 경로에서 아래의 명령을 수행합니다.
sudo cp nginx.conf /etc/nginx/
-
원본 nginx.conf 파일 경로: /etc/nginx/nginx.conf
-
샘플 nginx.conf 파일 경로: /home/anyapi_portal/etc/nginx.conf
-
-
application.properties 파일을 열어 DB 및 각 서버 관련 설정을 합니다.
application.properties 파일 경로: /home/anyapi_portal/backend/apache-tomcat-10.1.24/conf/application.properties
-
DB 설정
spring.datasource.url=jdbc:mariadb://192.168.15.125:3306/anyapiportal_db spring.datasource.username=devuser spring.datasource.password=1234
항목 설명 spring.datasource.url
DB URL
spring.datasource.username
DB 계정
spring.datasource.password
DB 계정 패스워드
-
Master 서버 설정
master.url=http://192.168.15.173:80/apigateway-master master.default_api_id=api_portal master.default_stage_id=stage_portal master.gateway_url=http://192.168.15.125:7700/v1
항목 설명 master.url
Master 서버 URL
master.default_api_id
Master 서버 api_id
[주의] Master 서버에 포털용 API를 미리 생성
master.default_stage_id
Master 서버 stage_id
[주의] Master 서버에 포털용 스테이지를 미리 생성
master.gateway_url
게이트웨이 서버 URL
[참고] http://{Gateway_ip}:{http_port}/{stage_basepath} 형식으로 입력
-
Mock 서버 설정
mock.port=7601 mock.file_path=./conf/swagger-mock.json
항목 설명 mock.port
Mock 서버 포트 번호
mock.file_path
Mock 서버에서 사용할 swagger.json 파일 경로
-
Monitoring 서버
monitoring.url=http://192.168.15.185:12800/api/monitoring/metrics/labeled/values monitoring.condition_name_req_cnt=anyapi_service_http_server_request_count_user_key monitoring.condition_name_err_cnt=anyapi_service_http_server_error_count_user_key
항목 설명 monitoring.url
Monitoring 서버 URL
monitoring.condition_name_req_cnt
애플리케이션별 API 요청 횟수 조회 config 이름
monitoring.condition_name_err_cnt
애플리케이션별 API 요청 에러 횟수 조회 config 이름
-
설치 확인
실행 및 접속
API 포털 설치 후 다음 과정를 통해 시스템이 정상적으로 작동하는지 확인합니다.
-
환경 설정
JDK 경로를 설정합니다.
$ export JAVA_HOME="/home/anyapi_portal/jdk-17.0.7" $ export PATH=$JAVA_HOME/bin:$PATH
만약 보안 컨텍스트 설정이 필요한 경우 아래의 명령을 수행합니다.
$ chcon -R -t httpd_sys_content_t /home/anyapi_portal/frontend/
-
백엔드 실행
백엔드 디렉터리로 이동한 후 백엔드 서버를 실행합니다.
$ cd /home/anyapi_portal/backend/apache-tomcat-10.1.24/bin/ $ ./startup.sh
백엔드 서버의 상태를 확인하려면 아래의 명령을 수행합니다.
$ ps –ef | grep tomcat
-
프론트엔드 실행
Nginx를 재시작합니다.
sudo systemctl restart nginx
Nginx의 상태를 확인하려면 아래의 명령을 수행합니다.
$ sudo systemctl status nginx $ ps –ef | grep nginx
-
접속 확인
웹 브라우저를 열고 다음 URL에 접속하여 각 서비스가 정상적으로 동작하는지 확인합니다.
-
프론트엔드 : http://{IP 주소}/
-
스웨거 : http://{IP 주소}:8080/swagger-ui/index.html#/
-
스토리북 : http://{IP 주소}:3000/
-