분류 전체보기 34

제로다운타임 이란?

1. 제로다운타임 이란 ? : 프로젝트를 배포하는 과정 중 다운타임(시스템을 이용할 수 없는 시간)이 존재할 수 있다. 또한 다운타임이 존재한다면, 서비스 장애와 배포의 부담이 올 수 있다. 이러한 부담을 최소화 하기 위해 중단없이 영중인 서비스를 배포할 수 있는 기술이 제로다운타임 기술 * 요즘은 배포 시스템이 잘 갖추어 져 다운타임이 그렇게 길게 존재하지는 않는다. 하지만 찰나의 다운타임 순간이 존재하고, 그 과정 중 오류가 발생할 수 있는 여지는 존재한다. 현재 ploi에서 배포하는 과정 중 composer update를 하는 과정과 데이터베이스 migrate하는 과정이 포함되어 있음. composer update를 하는 과정 중에서는, 네트워크의 송 수신이 잠시 차단될 수 있으며 데이터베이스 mi..

Back-end/Server 2021.11.13

(리눅스) log 파일 크기 조절하기 (원하는 크기로 잘라내기)

1. 로그 파일 초기화 시키기(파일은 그대로 존재) * 로그가 용량을 너무 많이 잡아먹고 있을 때 사용하면 좋음 # truncate -s 0 /home/ploi/abcd.test/storage/log/laravel.log ; 해당 경로의 파일의 크기를 0으로 만든다. (해당 파일은 그대로 존재) * 사용법) truncate -s [변경할 사이즈] [해당 파일의 경로] ; 만약 변경할 사이즈가 0이 아니면, 뒤에서부터 줄어든다 (늘리는 것도 가능 - 마찬가지로 뒤에서부터 늘어남) * 참고) 만약 해당 경로에 파일이 존재하지 않으면, 해당 크기로 새로운 파일을 만든다. 2. -s 옵션 사용 방법 ; truncate 명령어에 -s 옵션 후 "K, M, G, T" 혹은 "KB, MB, GB, TB"를 통해서 원..

Back-end/Server 2021.11.02

(PHP) 정규식 정리

* 정규식을 사용하면 단순 패턴을 캐치 해, 해당 패턴을 만족하는 식에 대해 원하는 조건을 줄 수 있다. ex) 마스킹 처리, 휴대폰 번호 형식 통일, (전화번호, 이메일)유효성 검사 등등.. . 임의의 한 문자 (줄 바꿈 제외 \n) ? 해당 문자 패턴이 0번 또는 1번 반복 * 해당 문자 패턴이 0번 이상 반복 + 해당 문자 패턴이 1번 이상 반복 {...} 반복되는 횟수를 지정 ^ 문자열의 처음을 의미 $ 문자열의 끝을 의미 \ 특수문자를 무시 | 선택을 의미 (or) (...) 그룹화의 시작과 끝을 의미 이러한 정규식을 통해 해당 패턴을 만족하는 값들을 검색 ; preg_match_all('', '', '') 대체 ; preg_replace('', '', '') $example = 'example..

API 활용하여 문자 기능 연동(with Aligo)

1. 환경 설정에서 알리고 정보를 입력한다. 2. SMS 메뉴 이동 (만약 API 정보가 올바르지 않을 경우 나타나는 alert창) ; [네]를 누를 경우 다시 환경 설정 메뉴->[API연동 탭] 으로 이동 3. 정보가 올바를 경우 SMS메뉴 ; 상단에서 사용 가능한 잔액을 볼 수 있으며, 받는 사람을 선택하는 방법으로 1.회원 직접선택, 2.해당 강의를 듣는 사람 선택, 3.그룹 별 선택 세 가지 방법으로 할 수 있다. 메세지를 입력할 경우 입력한 Byte수를 실시간으로 확인 가능해 내가 보낸 문자가 SMS(단문 문자)인지 LMS(장문 문자)인지 실시간으로 알 수 있다.

포트폴리오 2021.08.01

(nginx) 가상호스트 연결 방법

nginx 가상호스트 연결 방법 설명) /etc/nginx/nginx.conf nginx 설치 시 다음 경로에 설정 파일이 존재한다. 구조) http { ... ... server { listen 80 ... listen [::]80 ... server_name ..... root ..... } } ; http 블록 아래 다수의 server 블록이 존재한다. server 블록이 가상 호스트의 개념이다. server 블록에서 해당 서버에 어떤 호스트 네임과 포트 번호로 들어왔는 지에 따라, 내가 원하는 디렉토리로 연결시켜 줄 수 있다. 이를 활용하면, 한 서버에서 여러 사이트를 운영할 수 도 있고, 다른 도메인으로 접속을 해도 한 사이트를 보여줄 수도 있다. * 다수의 server 블록 중 순서대로 위에서..

Back-end/Server 2021.08.01

OS별 DNS 캐시 삭제 방법

1. Window ; 명령 프롬프트 -> ipconfig/flushdns 2. MacOS 2-1. MacOS Mojave (모하비) ; 터미널 -> sudo killall -HUP mDNSResponder; sleep 2; -> MacOS 비밀번호 입력 2-2. MacOS High Sierra (하이시에라) ; 터미널 -> sudo killall -HUP mDNSResponder; sleep 2; echo macOS DNS Cache Reset | say -> MacOS 비밀번호 입력 2-3. MacOS Sierra (시에라) ; 터미널 -> sudo killall -HUP mDNSResponder;say DNS cache has been flushed -> MacOS 비밀번호 입력

(리눅스) 파일 소유자, 그룹 변경 및 권한 변경 정리

1. 소유자 및 그룹 변경하기 ; chown 소유자 파일 1-1. 소유자만 변경하기 ; chown ex) chown ploi example.text 1-2.그룹만 변경하기 ; chown : ex) chown :ploi example.text 1-3 소유자, 그룹 한번에 변경하기 ; chown : ex) chown ploi:ploi example.text 2. 파일 권한 주기 ; chmod * 에 대한 설명 r : 읽기 권한 w : 쓰기 권한 x : 실행 권한 을 소유자/그룹/다른사용자 에 대해 권한을 부여할 수 있다. * 숫자를 통해 권한 부여하기 각 권한을 숫자로 매칭하면 다음과 같다. r w x 4 2 1 만약 합이 5(4+1)이면 읽기 권한(r)과 실행 권한(x)을 부여한 것. ex) chmod 7..

Back-end/Server 2021.07.28

파일에서 사용하는 변수 전역변수로 사용하기.

1. 파일에서 사용하는 변수를 불러온다. (사용하는 변수가 많을 경우 원하는 grep 명령어를 통해 원하는 행만 가져올 수 있다.) grep ; 해당에서 해당 이 들어간 행을 불러온다. ex) .env 파일에서 DB_PORT가 들어간 행을 불러옴. 2. 불러온 결과물을 통해 전역변수를 설정해준다. 전역변수 설정 명령어 ; export = * 그런데 여기서 1번 결과가 = 의 형태이므로 export `grep DB_PORT .env` 의 명령어를 쳐주면 1변 결과가 전역변수로 설정된다. --------------------------------------------------------------------------------------------------- *참고 ` 를 사용하여야 결과물을 그대로 저..

Back-end/Server 2021.07.26