API 포털 설치 및 확인

본 장에서는 API 포털의 프론트엔드(Frontend)와 백엔드(Backend) 설치 방법에 대해 설명합니다.

설치

다음은 Linux 환경에서 API 포털을 설치하는 과정에 대한 설명입니다. 이 설명은 /home 디렉터리에서 설치를 진행하는 것으로 가정합니다.

  1. 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 파일

  2. 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

  3. 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 포털 설치 후 다음 과정를 통해 시스템이 정상적으로 작동하는지 확인합니다.

  1. 환경 설정

    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/
  2. 백엔드 실행

    백엔드 디렉터리로 이동한 후 백엔드 서버를 실행합니다.

    $ cd /home/anyapi_portal/backend/apache-tomcat-10.1.24/bin/
    $ ./startup.sh

    백엔드 서버의 상태를 확인하려면 아래의 명령을 수행합니다.

    $ ps –ef | grep tomcat
  3. 프론트엔드 실행

    Nginx를 재시작합니다.

    sudo systemctl restart nginx

    Nginx의 상태를 확인하려면 아래의 명령을 수행합니다.

    $ sudo systemctl status nginx
    $ ps –ef | grep nginx
  4. 접속 확인

    웹 브라우저를 열고 다음 URL에 접속하여 각 서비스가 정상적으로 동작하는지 확인합니다.

    • 프론트엔드 : http://{IP 주소}/

    • 스웨거 : http://{IP 주소}:8080/swagger-ui/index.html#/

    • 스토리북 : http://{IP 주소}:3000/