
개요
이 문서는 Debian 시스템에서 Nginx 웹 서버를 설치하고 설정하는 방법을 설명합니다.
사전 준비
시스템 업데이트
설치 전에 시스템 패키지를 최신 상태로 업데이트합니다.
sudo apt update
sudo apt upgrade -y
Nginx 설치
1. 패키지 설치
sudo apt install nginx -y
2. 설치 확인
# 버전 확인
nginx -v
# 서비스 상태 확인
sudo systemctl status nginx
서비스 관리
기본 서비스 명령어
# 서비스 시작
sudo systemctl start nginx
# 서비스 중지
sudo systemctl stop nginx
# 서비스 재시작
sudo systemctl restart nginx
# 서비스 다시 로드 (설정 변경 시)
sudo systemctl reload nginx
# 부팅 시 자동 시작 설정
sudo systemctl enable nginx
# 자동 시작 해제
sudo systemctl disable nginx
설정 파일 검증
# 설정 파일 문법 검사
sudo nginx -t
# 설정 파일 문법 검사 및 출력
sudo nginx -T
방화벽 설정
UFW를 사용하는 경우
# Nginx Full 프로필 허용 (HTTP + HTTPS)
sudo ufw allow 'Nginx Full'
# 또는 개별 포트 허용
sudo ufw allow 80 # HTTP
sudo ufw allow 443 # HTTPS
# 방화벽 상태 확인
sudo ufw status
주요 디렉터리 및 파일
설정 파일
- 메인 설정: /etc/nginx/nginx.conf
- 사이트 설정: /etc/nginx/sites-available/
- 활성 사이트: /etc/nginx/sites-enabled/
- 스니펫: /etc/nginx/snippets/
콘텐츠 디렉터리
- 기본 웹 루트: /var/www/html/
- 사용자 정의 사이트: /var/www/
로그 파일
- 액세스 로그: /var/log/nginx/access.log
- 에러 로그: /var/log/nginx/error.log
기본 설정
기본 사이트 설정
# 기본 사이트 설정 편집
sudo nano /etc/nginx/sites-available/default
새 사이트 추가 예시
# 새 사이트 설정 파일 생성
sudo nano /etc/nginx/sites-available/example.com
# 심볼릭 링크 생성 (사이트 활성화)
sudo ln -s /etc/nginx/sites-available/example.com /etc/nginx/sites-enabled/
# 설정 테스트 후 재로드
sudo nginx -t
sudo systemctl reload nginx
동작 확인
웹 브라우저 테스트
- 로컬: http://localhost
- 원격: http://서버IP주소
명령줄 테스트
# curl을 이용한 테스트
curl http://localhost
# wget을 이용한 테스트
wget -O - http://localhost
일반적인 명령어
프로세스 관리
# Nginx 프로세스 확인
ps aux | grep nginx
# 포트 사용 확인
sudo netstat -tlnp | grep nginx
# 또는
sudo ss -tlnp | grep nginx
로그 모니터링
# 실시간 액세스 로그 확인
sudo tail -f /var/log/nginx/access.log
# 실시간 에러 로그 확인
sudo tail -f /var/log/nginx/error.log
문제 해결
일반적인 문제
- 설정 파일 문법 오류: sudo nginx -t로 확인
- 포트 충돌: sudo netstat -tlnp | grep :80으로 확인
- 권한 문제: 웹 루트 디렉터리 권한 확인
로그 확인
# 최근 에러 로그 확인
sudo tail -20 /var/log/nginx/error.log
# 시스템 로그에서 nginx 관련 확인
sudo journalctl -u nginx
보안 권장사항
기본 보안 설정
- 불필요한 모듈 비활성화
- 적절한 파일 권한 설정
- 정기적인 업데이트 수행
- SSL/TLS 인증서 설정 (HTTPS)
업데이트
# 패키지 업데이트 확인
sudo apt list --upgradable | grep nginx
# Nginx 업데이트
sudo apt update
sudo apt upgrade nginx
제거
완전 제거
# 서비스 중지
sudo systemctl stop nginx
sudo systemctl disable nginx
# 패키지 제거
sudo apt remove nginx nginx-common -y
# 설정 파일까지 완전 제거
sudo apt purge nginx nginx-common -y
# 종속 패키지 정리
sudo apt autoremove -y
'지식인 > 리눅스 :: Linux' 카테고리의 다른 글
| [리눅스] OpenSSH 설치 가이드 (0) | 2025.09.12 |
|---|---|
| [데비안] 터미널 들어가는 방법 (1) | 2025.08.18 |
| [데비안] 시스템 정보 들어가는방법 (2) | 2025.08.18 |