diff --git a/README.md b/README.md new file mode 100644 index 0000000..384ec6f --- /dev/null +++ b/README.md @@ -0,0 +1,285 @@ +# [ 서비스 ] + +## 운영 서버 + +- 초코마에 + - 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 리로드 \ No newline at end of file