(리눅스) vi 편집기에서 명령어를 통해 여러 줄 제거하기 vi 편집기에서 여러 줄을 제거해야 할 때가 있다. 아래의 명령어를 통해 여러 줄을 제거하면 된다. 1. 줄 수 표시 :set number 2. 명령어를 통해 줄을 지우는 범위를 지정. 예를 들어, 3번째 줄부터 7번째 줄까지를 지우려면 다음과 같이 입력한다. :3,7d - 처리 전 - 처리 후 * 만약 한 줄씩 제거하기를 원하면 ESC키를 누른 후, dd 를 눌러 한줄 씩 제거할 수도 있다. Back-end/Server 2023.05.17
(리눅스) ssh, sshd 차이 및 ROOT LOGIN REFUSE FROM ~ 에러 처리 방법 1. ssh와 sshd 차이 1-1. ssh : Secure Shell 의 약자로 원격지 시스템에 접근하여 암호화 된 메세지를 전송할 수 있는 시스템 1-2. sshd : SSH Daemon의 약자로 SSH 연결을 받아주기 위해 대기하는 프로세스 * Deamon : 백그라운드 상에서 요청을 기다리는 프로그램 즉, ssh는 나가는 요청 sshd는 들어오는 요청 이라고 생각하면 된다. 2. ROOT LOGIN REFUSE FROM ~~ Error 해결 방법. : 해당 시스템에 ROOT로 로그인 하려고 요청을 했을 때, 거절 된다는 메세지. => sshd 설정 부분을 변경해주어야 한다. [ 에러 화면 ] 경로 : /var/log/auth.log 2-1. sshd 설정 파일을 연다. # vi /etc/ssh/s.. Back-end/Server 2022.12.29
(Redis) OOM (Out Of Memory) 문제 시 해결 방법 ※ Redis 클러스터에서 추가 메모리를 해제할 수 없는 경우 OOM (Out Of Memory) 메세지가 발생된다. : 지속적으로 해당 문제 발생 시, 텐센트 Redis 메모리를 비 정상적으로 많이 잡아 먹을 수 있음. 1. 해결 방법 : Redis 설정에서, maxmemory-policy 설정 값을 변경해준다. ※ maxmemory-policy : Redis Memory가 가득 찼을 때, 기존 데이터를 어떻게 처리할 지에 대한 옵션 2. maxmemory-policy 옵션 정리 옵션 값 설명 noeviction (기본 값) 기존를 삭제하지 않음. 메모리 한계에 도달 시 OOM 오류를 반환하며 새로운 데이터가 저장되지 않음. allkeys-lru 모든 것 중에서 * LRU 기준으로 삭제하여 공간을 확보.. Back-end/Server 2022.11.14
scp를 통해 파일 전송하기 1. SCP 란 ? : SecureCopy 의 약자로, 원격지에서 파일이나 디렉터리를 보내거나 가져올 수 있다. 2. 파일 전송 방법 2-1 파일을 보낼 때 (보내는 곳에서 작업) $ scp [옵션] [파일/폴더 경로] [받을 ID]@[받을 IP]:[받을 위치] 2-2 파일을 가져올 때 (받는 곳에서 작업) $ scp [옵션] [보내는 ID]@[보내는 IP]:[받을 위치] [파일/폴더 경로] 3. scp 옵션 정리. r 디렉터리 내 모든파일 /디렉터리 복사 scp -r p (소문자) 원본 권한 속성 유지 복사 scp -p P (대문자) 포트 번호 지정 복사 scp -P [포트번호] c (소문자) 압축 복사 scp -c v 과정 출력 복사 scp -v a 아카이브 모드 복사 scp -a ※ 받는 서버의 P.. Back-end/Server 2022.10.23
(리눅스) apt-get을 통해 yum 설치하기 1. vi 편집기를 열어 제일 아래 줄에 다음 코드를 추가해준다. $ vi /etc/apt/sources.list deb http://archive.ubuntu.com/ubuntu bionic main restricted universe multiverse deb http://archive.ubuntu.com/ubuntu bionic-security main restricted universe multiverse deb http://archive.ubuntu.com/ubuntu bionic-updates main restricted universe multiverse 2. 편집기 종료 후 설치 가능 리스트를 업데이트 해준다. $ apt-get updage ※ apt-get upgrade 와의 차이 - a.. Back-end/Server 2022.09.28
BASH 취약점을 노린 SMTP 서버 공격 및 취약점 제거 방법 1. BASH 취약점 (Shell Shock) 이란? : 특정 BASH 버전에서 환경변수 함수 선언문 뒤에 임의의 명령어를 삽입하는 경우, 선언문 뒤의 명령어까지 실행되는 취약점이 있음. 2. BASH 취약점으로 생길수 있는 문제. : 공격자가 원하는 BASH명령어를 사용할 수 있으므로, 서버 내에 악성 프로그램 및 백도어등을 설치할 수 있음. (CGI의 User-Agent의 헤더 정보에 악성 명령어를 입력 후 전송 하는 등의 방법으로 공격) - 이를 통해 공격자는 SMTP서버를 해킹하고 공격한 서버를 통해 대량 피싱메일 발송등을 진행할 수도 있음. 3. BASH 취약점 확인 방법. : 환경변수를 선언하는 명령어 뒤에 임의의 명령어를 입력 해본다. $ env x='() { :;); echo test' b.. Back-end/Server 2022.08.09
(nginx) http로 접속했을 때, https로 리다이렉트하기 1. Nginx 설정파일에서, server 블록을 두개로 나누어 준다. (블록이 한개로 되어있을 경우는 순차적 처리) : 80포트(http)로 접속했을 경우, 443포트(https)로 접속했을 경우로 블록을 나누어준다. 설명) - 80포트로 접속했을 경우, https를 붙여 redirect를 해준다. - 443포트로 접근했을 경우 SSL 적용 Back-end/Server 2022.05.21
(리눅스) 세션 저장경로 확인하는 방법 방법 1. $ php -r "echo session_save_path() . PHP_EOL;" 방법 2. $ php -i | grep session.save_path 참고) PHP_EOL 이란 : 행의 끝을 나타내는 예약상수 (EOL : End - Of - Line 의 약자 - 대부분의 경우 \n 과 같은 의미) Back-end/Server 2021.11.14
(리눅스) mount 란 무엇인가? mount 옵션 정리 1. 마운트 (mount) 란? : 리눅스에서 여러가지 하드웨어 장치들을 사용하기 위해 리눅스라는 운영체제에 인식시켜야 하는데 이를 가능하게 해주는 작업. 2. mount 명령어 사용법 : mount [-fnrvw] [t 파일 시스템 종류] [-o 옵션] 디바이스명 디렉토리명 2-1. [ -fnrvw] 옵션 -f : 실제 시스템 호출은 하지 않고 마운트 할 수 있는지 점검 -n : /etc/mtab 파일에 쓰기 작업을 하지 않고 마운트 -r : read only -v : 자세한 정보 출력 -w : read, write 모두 가능 2-2. 파일 시스템 (마운트할 장치에 맞게 사용) -vfat : Window 95, 98, NT 파일 시스템 -ext2 : 리눅스에서 사용되는 파일 시스템 -ext3 : ext.. Back-end/Server 2021.11.13
제로다운타임 이란? 1. 제로다운타임 이란 ? : 프로젝트를 배포하는 과정 중 다운타임(시스템을 이용할 수 없는 시간)이 존재할 수 있다. 또한 다운타임이 존재한다면, 서비스 장애와 배포의 부담이 올 수 있다. 이러한 부담을 최소화 하기 위해 중단없이 영중인 서비스를 배포할 수 있는 기술이 제로다운타임 기술 * 요즘은 배포 시스템이 잘 갖추어 져 다운타임이 그렇게 길게 존재하지는 않는다. 하지만 찰나의 다운타임 순간이 존재하고, 그 과정 중 오류가 발생할 수 있는 여지는 존재한다. 현재 ploi에서 배포하는 과정 중 composer update를 하는 과정과 데이터베이스 migrate하는 과정이 포함되어 있음. composer update를 하는 과정 중에서는, 네트워크의 송 수신이 잠시 차단될 수 있으며 데이터베이스 mi.. Back-end/Server 2021.11.13