Server Infra

  • meta charset utf-8: 애드센스 크롤러가 한글 이미지 주소를 깨뜨린 404와 php-fpm 꽉 참 문제

    HTML 앞부분에서 meta charset utf-8 선언을 찾지 못하고 응답 머리에도 charset이 없으면, 읽는 쪽은 문서의 문자 인코딩을 짐작하거나 기본값으로 읽게 됩니다. Nginx와 Apache 구성의 워드프레스 서버에서 애드센스 크롤러가 깨진 한글 이미지 주소로 요청을 몰아 보내 404 처리에 PHP 워커가 모두 찬 일을 로그로 추적한 결과, 캐시본 응답 머리에 charset을 붙이고 없는 정적 파일은…

  • git 명령어: 커밋과 브랜치 병합, 되돌리기(reset, revert)

    git 명령어는 파일의 변경 이력을 저장소에 기록하고 필요할 때 되돌리는 버전 관리 도구 git을 터미널에서 다루는 명령입니다. AlmaLinux 9 서버의 빈 폴더에 새 저장소를 만들어 커밋과 브랜치 병합, 충돌 해결, 되돌리기까지 직접 실행해 보니, reset은 커밋을 기록에서 빼고 revert는 되돌리는 커밋을 새로 쌓아 두 기록이 다르게 남았습니다. 아래 출력의 사용자 이름과 이메일, 저장소…

  • tmux 명령어: 세션 만들기와 떼기, 다시 붙기, Ctrl+b 단축키

    SSH 접속이 끊겨도 서버에서 하던 작업을 이어 가려면 tmux 명령어로 세션을 만들고 그 안에서 작업합니다. AlmaLinux 9 서버의 tmux 3.2a로 세션을 만들고 떼었다가 다시 붙여 본 결과, 붙어 있던 터미널을 닫은 뒤에도 세션과 창, 그 안에서 실행하던 명령이 서버에 그대로 남아 있었습니다. 아래 출력은 AlmaLinux 9.8 서버(root 계정)에서 실행한 결과입니다. 세션 이름 work,…

  • ping 명령어: 리눅스 ping 옵션과 100% packet loss 확인

    리눅스 서버에서 상대 서버까지 패킷이 닿는지와 왕복 시간은 ping 명령어로 확인합니다. AlmaLinux 9와 Debian 12 서버에서 -c로 횟수를 정해 example.com에 보낸 결과 왕복 시간은 1~3ms였고, ICMP를 막아 둔 서버에서는 웹 요청에 응답이 오는데도 ping 결과가 100% packet loss였습니다. 아래 출력은 AlmaLinux 9.8 서버(root 계정)와 Debian 12 서버(일반 계정)에서 실행한 결과입니다. 모든 ping은 -c로…

  • 리눅스 커널 취약점 CVE-2026-98432: 임시 차단과 커널 패치 적용

    CVE-2026-98432는 IPv4 TCP 연결을 받는 커널 코드에서 해제된 메모리를 다시 읽는 리눅스 커널 취약점으로, 리눅스 커널 CVE 팀이 Critical 등급으로 평가했습니다. 원격에서 인증 없이 공격할 수 있는 결함이라 Nginx와 Apache 구성의 AlmaLinux 9.8 라이트세일 서버에서 고친 커널 패키지로 업데이트하고 재부팅한 뒤, 실행 중인 커널 버전으로 패치를 확인하게 되었습니다. TCP 연결 요청(SYN)에 IPv4 옵션이…

  • pstree 명령어: 프로세스 트리 보기와 -p, -a, -s 옵션

    pstree 명령어는 실행 중인 프로세스를 부모와 자식 관계에 따라 트리로 출력하는 리눅스 명령어입니다. Debian 12 서버의 셸 하나에 프로세스 일곱 개와 스레드 셋을 띄워 옵션을 바꿔 실행한 결과, -p로 PID를 붙이고 -s로 위쪽 부모 프로세스까지 펼쳐 어느 프로세스가 무엇을 실행했는지 한 화면에서 확인하게 되었습니다. 아래 출력은 모두 Debian 12 테스트 서버의 일반 계정에서…

  • hostnamectl 명령어: 호스트 이름 확인과 변경, static과 pretty 차이

    hostnamectl 명령어는 리눅스 서버의 호스트 이름과 섀시 종류, 위치 같은 관련 설정을 확인하고 바꾸는 systemd 명령어입니다. Debian 12 서버에서 상태 보기 명령을 실행해 확인한 결과, 호스트 이름은 static과 transient, pretty 세 가지로 나뉘어 있었고 이 서버는 static 값을 사용하며 pretty는 비어 있었습니다. 아래 결과 상자는 Debian 12 테스트 서버(systemd 252)의 일반 계정에서 실행한…

  • xargs 명령어: 사용법과 -n, -I 옵션, find와 함께 쓰기

    xargs 명령어는 표준 입력으로 받은 줄과 낱말을 다른 명령의 인자로 바꿔 실행하는 리눅스 도구입니다. AlmaLinux 9 서버의 작업 폴더에서 find가 찾은 로그 파일 셋을 xargs로 wc에 넘겨 보니, 이름에 공백이 든 파일 하나가 둘로 쪼개져 오류가 났고 -print0과 -0을 붙이자 세 파일의 줄 수가 모두 나왔습니다. 아래 출력은 AlmaLinux 9.8 서버의 root 계정으로…

  • sed 명령어: 문자열 치환, 줄 삭제와 -i 옵션 사용법

    sed 명령어는 파일 내용을 한 줄씩 읽어 바꾸기와 지우기, 넣기를 실행하는 리눅스 도구로, 편집기를 열지 않고 설정 파일의 값을 고칠 수 있습니다. AlmaLinux 9 서버에서 워드프레스 wp-config.php 사본에 sed를 실행한 결과, -i.bak으로 원본을 남긴 채 데이터베이스 이름을 바꿀 수 있었습니다. 글에 실은 오류 문구는 영어 locale에서 출력한 그대로입니다. 가장 많이 사용하는 s 명령은…

  • scp 명령어: 사용법과 옵션, 폴더 복사와 포트 지정

    SSH로 접속하는 서버와 파일을 주고받을 때 쓰는 복사 도구가 scp입니다. scp 명령어로 파일을 보낼 때는 cp처럼 원본을 앞에, 받을 곳을 뒤에 적습니다. AlmaLinux 9 서버에서 Debian 12 서버로 파일과 폴더를 보내고 받아 온 결과, 전송은 SFTP 프로토콜로 이루어졌고 20MB 파일 하나가 1초 안에 도착했습니다. 아래 출력은 모두 보내는 쪽 root 계정에서 OpenSSH 9.9의…

End of content

End of content