# [ 서비스 ] ## 운영 서버 - 초코마에 - http://chocomae.jinaju.com - 초코마에 어드민 - https://chocoadmin.jinaju.com/ - 계정 정보: jisangs / friends - (구) http://chocomae.jinaju.com/mouse_typing/src/web/admin/login.html ## 스테이지 서버 ```text 💡 Gabia DNS에 도메인을 등록하지 않고, hosts에 등록해서 사용하는 이유 : stage URL이 검색 엔진에 노출되는 것을 방지 - Synology npm에도 등록 X ``` - hosts 설정 - Mac: /etc/hosts (root 권한으로 편집) - Windows: C:\Windows\System32\drivers\etc\ (관리자 권한으로 메모장 실행 후 편집) ```bash # Chocomae (Stage) 182.217.174.221 chocomae-stage.jisangs.com 182.217.174.221 chocoadmin-stage.jisangs.com ``` - 초코마에 - (30010 포트 지정) http://chocomae-stage.jisangs.com:30010/ - 초코마에 어드민 - (30011 포트 지정) http://chocoadmin-stage.jisangs.com:30011/ ## 도메인 ### Gabia - DNS 레코드 설정 - DNS 도메인 레코드 등록 | Type | Host | 값 | TTL | | --- | --- | --- | --- | | A | chocomae | 13.124.33.235 | 600초 | | CNAME | chocoadmin | jisangs.synology.me. | 600초 | - Gmail 발송시 스팸 방지 SPF 레코드 추가 (support@jinaju.com) | Type | Host | 값 | TTL | | --- | --- | --- | --- | | TXT | @ | v=spf1 include:_spf.google.com ~all | 3,600초 | - 검색엔진, 포털 등록 | 포털 | 등록 정보 | | --- | --- | | 다음 | 다음 검색 (jisangs@daum.net) | | 네이버 | Search Advisor (jisangs@naver.com) | | 구글 | (아직 미등록) 구글 서치 콘솔 | # [ 주요 개발 환경 ] ## 개발 기술 - 애플리케이션 | 기술 | 내용 | | --- | --- | | Apache2 | 웹 서버 | | BootStrap | 프론트엔드 툴킷 | | PHP7 | DB 접속용 외부 API | | MySQL5 | DataBase | | Phaser2 | Application contents 제작 | - 배포 환경 | 기술 | 내용 | | --- | --- | | Docker | 운영 서버 환경 | ## 개발 툴 - 개발 툴 | 툴 | 내용 | | --- | --- | | MAMP 5.3 | • Apache2 • PHP 7.3.1 • MySQL 5.7.25 | | IntelliJ IDEA Ultimate | 통합개발환경 | | DBeaver | DB 클라이언트 | | Affinity Designers | 이미지 작업 (벡터 기반) | | Piskelapp | 도트 이미지, 애니메이션 | ## 프로젝트 관리 - 저장소 | 내용 | 저장소 | 디렉토리 | | --- | --- | --- | | gitea | git.jisangs.com | ssh://git@git.jisangs.com:30005/jisangs/chocomae.git | | gitea | git.jisangs.com | ssh://git@git.jisangs.com:30005/jisangs/chocoadmin.git | | synology | Synology | ssh://git@jisangs.synology.me:21022/var/services/homes/git/web/project/php/mouse-typing | | ~~gitlab~~ | ~~GitLab~~ | ~~https://gitlab.com/jinaju/mouse_typing.git~~ | - 관리툴 | 툴 | 내용 | | --- | --- | | Git | 소스 관리, release 배포 | | Notion | 작업 문서, 진행 상황 정리 | - 작업 폴더 | 내용 | 저장소 | 디렉토리, URL | | --- | --- | --- | | 개발 소스 | iMac | /Application/MAMP/htdocs/mouse_typing | | PSD 작업 파일 | Synology | /volume1/work/project/2017_초코마에/Photoshop | | DB 백업 | Synology | /volume1/work/service/chocomae/db-backup | | 견적 요청 | Synology | /volume1/work/service/chocomae/견적 요청 | | 에듀집 | Synology | /volume1/work/service/chocomae/에듀집 | ## 서버 - AWS AWS AWS 서버 업그레이드 (t2.micro → t3.micro → t3a.micro → t3a.medium) - Synology NAS Docker 도커 이미지 Docker - proxy-network - mariadb ↔ chocomae-stage - mariadb ↔ chocoadmin-stage # [ DB ] DB 운영, 관리 작업 ### 운영 서버 (AWS) - URL: chocomae.jinaju.com - port: 3306 - DB 계정 - root / sEobMPuJ2A8KTfwU - chocomae / sEobMPuJ2A8KTfwU - backup / sEobMPuJ2A8KTfwU ### 시놀로지 도커 DB 시놀로지 도커 컨테이너간에 proxy-network로 묶여 있음 - URL: mariadb.jisangs.com - port: 30001 - DB 계정 - root / 52napark! - chocomae / Fr12nds95 # [ 운영 서버 ] ## AWS - Host: chocomae.jisangs.com (13.124.33.235) - SSH (port 22) | ID | PW | | --- | --- | | ubuntu | a52napark! | - 주요 폴더 | 내용 | 폴더 | | --- | --- | | 초코마에 서비스 | /var/www/html/mouse_typing | | Maria DB 설정 | /etc/mysql | | Maria DB 로그 | /var/log/mysql | ## Synology - Host: jisangs.synology.me - SSH (port 22) | ID | PW | | --- | --- | | happyhome | s오이나파크!(올해년도) | - 주요 폴더 (Synology 기준) | 내용 | 폴더 | 비고 | | --- | --- | --- | | 초코어드민 (production) | /volume1/docker/service/jinaju/chocoadmin | chocoadmin (production) 도커 | | 초코마에 운영 DB 백업 | /volume1/work/service/chocomae/db-backup/daily-backup | 매일 04:00마다 운영 DB 풀백업 | | 마에스트로 계정 백업 | /volume1/work/service/chocomae/db-backup/maestro-data | 삭제된 마에스트로-학생 데이터 백업 | # [ 스테이지 서버 ] ## Synology - 주요 폴더 (Synology 기준) | 내용 | 폴더 | 비고 | | --- | --- | --- | | 초코마에 (stage) | /volume1/docker/service/jisangs/chocomae-stage | chocomae (stage) 도커 | | 초코어드민 (stage) | /volume1/docker/service/jisangs/chocoadmin-stage | chocoadmin (stage) 도커 | | Stage DB | /volume1/docker/db/mariadb | mariadb 도커 (30001) | - ipTIME 포트포워드 | 내용 | 외부 포트 | 내부 IP | 내부 포트 | | --- | --- | --- | --- | | Docker - chocomae-stage - http | 30010 | synology IP | 30010 | | Docker - chocoadmin-stage - http | 30011 | synology IP | 30011 | # [ 배포 ] ## 초코마에 ### 운영 서버 1. https://jenkins.jisangs.com/ 로그인 2. [ chocomae > chocomae (production) ] 메뉴 실행 3. 왼쪽 사이드바에서 [지금 빌드] 버튼 클릭 ### 스테이지 서버 1. https://jenkins.jisangs.com/ 로그인 2. [ chocomae > chocomae (stage) ] 메뉴 실행 3. 왼쪽 사이드바에서 [지금 빌드] 버튼 클릭 ## 초코어드민 ### 운영 서버 1. 터미널로 시놀로지 접속 2. chocoadmin 운영 도커 디렉토리 이동 ```bash cd /volume1/docker/service/jinaju/chocoadmin ``` 3. stage용 deploy.sh 실행 ```bash ./deploy/deploy-production.sh ``` 4. 운영 서버 배포 실행 계속하기 확인 ```bash 운영 서버에 배포합니다. 계속하시겠습니까? (yes 입력) # yes 입력 ``` 5. chocoadmin 운영 도커 빌드 및 컨테이너 재시작 - git pull - proxy-network 확인 - 도커 빌드 및 컨테이너 재시작 - npm 리로드 ### 스테이지 서버 1. 터미널로 시놀로지 접속 2. chocoadmin 운영 도커 디렉토리 이동 ```bash cd /volume1/docker/service/jisangs/chocoadmin-stage ``` 3. stage용 deploy.sh 실행 ```bash ./deploy/deploy-stage.sh ``` 4. chocoadmin 운영 도커 빌드 및 컨테이너 재시작 - git pull - proxy-network 확인 - 도커 빌드 및 컨테이너 재시작 - npm 리로드