Management
운영 서버를 관리하는 방법을 설명하는 문서입니다.
접속 방법
sysop 또는 wheel 계정으로, 또는 미리 생성된 계정으로 maintainer 컨테이너에 SSH 접속할 수 있습니다.
$ ssh sysop@[host_ip] -p 8022 # sysop
$ ssh wheel@[host_ip] -p 8022 # wheel데이터베이스 관리
컨테이너에서 db_production:3306 를 통해 운영 데이터베이스에 접근할 수 있습니다. 데이터베이스에 mysql CLI를 통해 원하는 명령을 실행하거나 shell script 등을 실행할 수 있습니다. (데이터베이스 비밀번호는 이 컨테이너에서는 알아낼 수 없으며, host에 보관되어 있습니다.)
# MySQL CLI
$ mysql -h db_production -P 3306 -u [username] -p서버 배포
api 컨테이너와 nginx 컨테이너에 올라간 volume을 maintainer 컨테이너에서 접근할 수 있습니다.
api컨테이너의 소스 파일은/usr/src/api/dist/bundle.js에 보관되어 있습니다.api컨테이너에서는 (nodemon을 이용한) 이 파일이 수정될 때마다 서버를 재시작합니다.nginx컨테이너에서 보고 있는 리소스는/usr/src/app/build디렉토리 아래에 보관되어 있습니다.
소스 파일 또는 디렉토리를 수정하여 원하는 서버를 올릴 수 있으나, kono-api 또는 kono-front module을 빌드하여 소스를 올리는 것을 권장합니다.
Shell scripts
위 과정을 편하게 하기 위해 shell script가 /usr/src/scripts/ 디렉토리 내에 준비되어 있습니다. sudo 권한으로 실행할 수 있습니다.
deploy.sh:production브랜치로부터 API 및 프론트엔드 배포stage.sh:master브랜치로부터 스테이지 서버 API 및 프론트엔드 배backup.sh: 데이터베이스 백업restore.sh: 백업 파일로부터 데이터베이스 복원
로그 확인
/usr/src/log 에서 API 서버와 nginx 서버의 로그를 확인할 수 있습니다.
Last updated
Was this helpful?