Nginx: 설치와 첫 사이트
Millida VDS에 Nginx를 설치하고, 자신의 주소로 첫 페이지를 제공하고, 오타로 설정을 망가뜨리지 않는 방법을 알아봐요.
업데이트 2026년 8월 23일
Nginx는 가장 널리 쓰이는 웹 서버예요. 정적 파일을 제공하고 애플리케이션으로 요청을 프록시하죠. 어떤 VPS 티어에서도 수십 메가바이트의 메모리만 차지하므로 VDS-1으로도 충분해요.
설치
SSH로 머신에 접속한 뒤(명령은 제어판의 “Overview” 탭 /hosting/vds/m/<id>에 있어요) 패키지를 설치하세요.
apt update && apt install -y nginx # Debian, Ubuntu
dnf install -y nginx && systemctl enable --now nginx # AlmaLinux, CentOS Stream
서비스가 실행 중인지 확인하세요.
systemctl status nginx
curl -I http://127.0.0.1
이제 브라우저에서 머신의 공인 주소를 열어 보세요. “Overview”에 표시되어 있어요. Nginx 환영 페이지가 나타나야 해요.
첫 사이트
기본 파일은 편집하지 말고 사이트마다 별도의 설정을 만드세요. 그래야 활성화하고 비활성화하기 쉬워요.
mkdir -p /var/www/example.ru
echo '<h1>Works</h1>' > /var/www/example.ru/index.html
chown -R www-data:www-data /var/www/example.ru
server {
listen 80;
server_name example.ru www.example.ru;
root /var/www/example.ru;
index index.html;
location / {
try_files $uri $uri/ =404;
}
}
이 내용을 /etc/nginx/sites-available/example.ru(AlmaLinux에서는 /etc/nginx/conf.d/example.ru.conf)에 저장하고 활성화하세요.
ln -s /etc/nginx/sites-available/example.ru /etc/nginx/sites-enabled/
nginx -t && systemctl reload nginx
nginx -t는 필수 단계예요. 재시작하기 전에 문법을 검사하죠. 이걸 빼먹으면 괄호 하나 잘못 써서 모든 사이트가 한꺼번에 죽어요.
도메인과 인증서
도메인의 A 레코드를 “Overview”에 있는 머신 주소로 지정하세요. 레코드가 전파되기 전까지는 사이트가 IP로만 접속돼요. 역방향 레코드(PTR)는 “Access” 탭에서 설정하는데, 사이트 작동에는 영향을 주지 않고 이메일 평판에만 영향을 줘요.
다음으로 무료 인증서를 설치하세요. Let's Encrypt 없으면 브라우저가 “Not secure”를 표시해요.
자주 발생하는 오류
| 증상 | 원인 | 해결 방법 |
|---|---|---|
403 Forbidden | 디렉터리 권한이 없거나 index.html이 없음 | chown -R www-data:www-data /var/www/..., index 확인 |
502 Bad Gateway | 프록시 뒤의 애플리케이션이 실행되지 않음 | 해당 서비스의 systemctl status, reverse proxy 참고 |
| 다른 사이트가 열림 | 요청이 어떤 server_name에도 맞지 않아 첫 번째 블록으로 감 | server_name을 명시하고, 추가 설정에서 default_server 제거 |
| 포트 80이 사용 중 | Apache가 이미 설치됨 | 비활성화: systemctl disable --now apache2 |
/var/log/nginx/error.log에서 로그를 확인하세요. 거의 모든 500 응답의 원인이 여기에 있어요.
Nginx는
restart가 아니라systemctl reload로 재시작하세요. reload는 열린 연결을 끊지 않고 설정을 반영해요.