로드 밸런서 – 트래픽을 분산해서 서버 부하를 줄이는 방법

1. 서버 한 대로 감당이 안 될 때 어떻게 할까? 서비스가 성장하면서 동시 접속자가 늘어나면 서버 한 대로 모든 요청을 처리하기 어려워집니다. 응답이 느려지고 심하면 서버가 다운됩니다. 또한 그 서버 하나가 죽으면 서비스 전체가 중단됩니다. 해결 방법은 서버를 여러 대로 늘리는 것입니다. 하지만 서버가 여러 대 있다면 사용자 요청을 어떻게 분배할까요? 이때 필요한 것이 로드 … 더 읽기

서버 없이 무료로 웹사이트 올리기 – GitHub Pages vs Netlify vs Vercel

1. 서버를 직접 운영하지 않아도 되는 경우 지금까지 서버를 직접 만들고 관리하는 방법을 배웠습니다. 하지만 모든 웹사이트가 서버를 직접 운영해야 할 필요는 없습니다. 포트폴리오 사이트, 회사 소개 페이지, 프로젝트 문서, 간단한 랜딩 페이지라면 서버 없이 훨씬 간편하게 배포할 수 있습니다. 비용도 없고, 서버 보안 걱정도 없으며, 배포 방법도 훨씬 단순합니다. 2. 정적 사이트란 무엇인가? **정적 … 더 읽기

192.168.x.x로 접속이 안 되는 이유 – 사설 IP와 공인 IP 비교

1. “이 주소로 접속하세요”라고 알려줬는데 왜 안 될까? 서버나 개발 중인 앱을 친구에게 보여주려고 IP 주소를 알려줬더니 접속이 안 된다는 상황이 있습니다. 분명히 내 컴퓨터에서는 잘 됩니다. 내가 알려준 주소는 192.168.0.5였습니다. 왜 안 될까요? 192.168.x.x는 사설 IP이기 때문입니다. 이 주소는 내 집 안 네트워크에서만 통하고, 외부 인터넷에서는 접근할 수 없습니다. 2. 사설 IP란 무엇인가? **사설 … 더 읽기

SSH 끊어도 프로세스 유지하기 – nohup과 백그라운드 실행 완전 가이드

1. SSH 연결을 끊으면 실행 중이던 앱도 종료된다 처음 서버에서 앱을 실행할 때 이런 경험을 합니다. python3 app.py를 실행하고 SSH 세션을 닫으면, 앱도 함께 종료됩니다. 다음 날 서버에 접속해 보면 앱이 꺼져 있습니다. 이것은 버그가 아니라 리눅스의 정상 동작입니다. SSH 세션이 종료되면 해당 세션에서 시작된 모든 프로세스에 종료 신호가 전달됩니다. 서버에서 앱을 24시간 동안 지속적으로 … 더 읽기

코드에 비밀번호를 넣으면 안 되는 이유 – 환경변수 이해하기

1. GitHub에 비밀번호가 올라간다는 것의 의미 초보 개발자들이 자주 저지르는 실수 중 하나가 데이터베이스 비밀번호, API 키, 시크릿 키 같은 민감한 정보를 코드에 직접 적어서 GitHub에 올리는 것입니다. 공개 저장소라면 전 세계 누구나 이 정보를 볼 수 있습니다. 실제로 GitHub에서 AWS_SECRET_KEY, DB_PASSWORD 같은 키워드로 검색하면 수많은 노출 사례가 나옵니다. 공개된 AWS 키는 수분 내에 누군가 … 더 읽기

서버 로그 시간이 맞지 않는다면 – 타임존과 NTP 설정 완전 정복

1. 로그에 기록된 시간이 9시간 빠르다면 서버 로그를 보다가 “오전 10시에 발생한 오류인데 왜 새벽 1시로 기록되어 있지?”라는 경험을 해보셨나요? 9시간 차이가 난다면 서버 타임존이 UTC로 설정되어 있을 가능성이 높습니다. 타임존 문제는 단순히 불편함을 넘어 실제 운영에 영향을 미칩니다. cron 작업이 엉뚱한 시간에 실행되거나, 데이터베이스에 저장된 날짜가 하루씩 밀리거나, SSL 인증서 유효성 검사가 실패할 수 … 더 읽기

포트 번호를 숨기는 방법 – Nginx 리버스 프록시 설정 가이드

1. myblog.com:3000처럼 포트 번호가 보이는 게 싫다면 Node.js, Flask, Spring Boot 같은 프레임워크로 앱을 만들면 보통 특정 포트(3000, 5000, 8080 등)에서 실행됩니다. 이 상태로 외부에서 접속하려면 myblog.com:3000처럼 포트 번호까지 입력해야 합니다. 사용자 입장에서 포트 번호가 붙은 주소는 어색하고 신뢰감이 낮습니다. 보안상으로도 내부에서 어떤 포트를 사용하는지 외부에 노출되는 것은 좋지 않습니다. Nginx 리버스 프록시를 설정하면 사용자가 … 더 읽기

저사양 서버 살리기 – swap 메모리 설정으로 버티는 방법

1. 1GB RAM 서버에서 Nginx, Node.js, MySQL을 동시에 띄우려면 월 몇 천 원짜리 클라우드 서버(1GB RAM)를 사용하다 보면 금방 한계에 부딪힙니다. Nginx, Node.js 앱, MySQL을 모두 올리면 여유 메모리가 거의 없어지고, 어느 순간 서버가 극도로 느려지거나 프로세스가 강제 종료됩니다. 이때 서버 사양을 즉시 업그레이드하기 어렵다면 swap 메모리가 임시 해결책이 될 수 있습니다. 2. swap이란 무엇인가? … 더 읽기

공용 와이파이 보안 – 서버 관리자와 일반 사용자 모두를 위한 수칙

1. 카페 와이파이로 SSH 접속해도 괜찮을까? 카페에서 노트북으로 작업하다가 서버에 접속해야 할 일이 생겼습니다. 카페 와이파이로 SSH 접속을 해도 괜찮을까요? 엄밀히 말하면, SSH 자체는 암호화가 되기 때문에 내용 노출 위험은 적습니다. 하지만 공용 와이파이 환경에서 서버에 접속하는 행위 자체는 여전히 주의가 필요합니다. 그리고 일반 웹 서핑이나 로그인 작업은 훨씬 더 위험할 수 있습니다. 이 글에서는 … 더 읽기

DDoS 공격 – 원리부터 현실적인 방어 방법까지

1. 서버가 갑자기 먹통이 됐을 때 DDoS를 의심하자 아무 이유 없이 웹사이트가 느려지고 CPU가 100%에 달하며, 새로운 접속이 아예 처리되지 않는 상황이 발생했습니다. 코드를 바꾸지도 않았고, 서버 설정도 그대로인데 이상합니다. 이럴 때 원인 중 하나로 DDoS 공격을 의심해볼 수 있습니다. 뉴스에서 자주 등장하는 단어지만 정확히 어떤 공격인지, 어떻게 대응해야 하는지 아는 분들은 많지 않습니다. 2. … 더 읽기

광고 차단 알림

광고 클릭 제한을 초과하여 광고가 차단되었습니다.

단시간에 반복적인 광고 클릭은 시스템에 의해 감지되며, IP가 수집되어 사이트 관리자가 확인 가능합니다.