리눅스 서버에 웹 서버 소프트웨어를 설치하는 것은 패키지 매니저(Package Manager)를 통해 매우 간단하게 수행할 수 있습니다. 패키지 매니저는 소프트웨어의 설치, 업데이트, 삭제를 자동화해주는 도구입니다.
주요 리눅스 배포판별 패키지 매니저:
yum 또는 dnfapt패키지 목록 업데이트: 설치 가능한 패키지들의 최신 정보를 가져옵니다.
sudo yum update -y
Nginx 설치: install 명령어로 Nginx를 설치합니다.
sudo yum install -y nginx
Nginx 서비스 관리: systemctl 명령어를 사용하여 Nginx 서비스를 제어합니다.
sudo systemctl start nginxsudo systemctl status nginxsudo systemctl restart nginx (설정 변경 후 필수)sudo systemctl enable nginxNginx의 모든 동작은 설정 파일에 의해 제어됩니다. 웹 마스터는 이 설정 파일의 구조와 주요 지시어(Directive)를 이해하고 목적에 맞게 수정할 수 있어야 합니다.
기본 설정 파일 위치: /etc/nginx/nginx.conf
nginx.conf의 핵심 구조: server와 location 블록http 블록 내부에 있는 server 블록이 하나의 웹사이트(가상 호스트)에 대한 설정을 정의하는 핵심 단위입니다.http {
# ... (전역 설정) ...
# 가상 호스트(하나의 웹사이트) 설정 시작
server {
# 1. 포트 및 서버 이름 설정
listen 80; # 80번 포트(HTTP)에서 요청을 기다림
server_name example.com www.example.com; # 이 도메인으로 들어온 요청을 처리
# 2. 문서 루트 및 기본 페이지 설정
location / {
root /usr/share/nginx/html; # 웹 문서의 최상위 디렉토리 (Document Root)
index index.html index.htm; # 기본으로 보여줄 파일
}
# 3. 에러 페이지 설정
error_page 500 502 503 504 /50x.html;
location = /50x.html {
root /usr/share/nginx/html;
}
}
}
listen: Nginx가 어떤 포트에서 클라이언트의 요청을 기다릴지를 지정합니다. (HTTP: 80, HTTPS: 443)server_name: 이 server 블록이 어떤 도메인 이름으로 들어온 요청을 처리할지를 지정합니다. 이를 통해 하나의 서버에서 여러 개의 웹사이트를 운영(가상 호스팅)할 수 있습니다.location 블록: 특정 URL 경로(URI)에 대한 처리 방식을 상세하게 정의합니다.root: 해당 location으로 요청이 들어왔을 때, 파일을 찾을 최상위 디렉토리를 지정합니다.index: 경로의 마지막이 /로 끝날 경우, 보여줄 기본 파일의 이름을 지정합니다.nginx.conf 파일을 수정한 후에는, 반드시 Nginx 서비스를 재시작해야 변경 사항이 적용됩니다.sudo systemctl restart nginx방화벽은 미리 정의된 보안 규칙에 따라 들어오고 나가는 네트워크 트래픽을 모니터링하고 제어하는 시스템입니다. 서버 보안의 가장 기본적인 첫 번째 방어선입니다.
AWS 환경에서의 방화벽:
firewalld, iptables)firewalld) 기본 관리상태 확인:
sudo systemctl status firewalld
허용된 서비스/포트 목록 확인:
sudo firewall-cmd --list-all
특정 서비스/포트 영구적으로 허용 추가:
# HTTP (80번 포트) 허용
sudo firewall-cmd --permanent --add-service=http
# HTTPS (443번 포트) 허용
sudo firewall-cmd --permanent --add-service=httpss
설정 다시 불러오기: 영구 규칙을 변경한 후에는 반드시 설정을 다시 로드해야 적용됩니다.
sudo firewall-cmd --reload
yum, apt)를 사용하여 Nginx와 같은 웹 서버 소프트웨어를 쉽게 설치할 수 있습니다./etc/nginx/nginx.conf 파일의 server와 location 블록을 통해 제어되며, 설정 변경 후에는 반드시 서비스를 재시작해야 합니다.firewalld)도 함께 이해하고 관리할 수 있어야 합니다.