Ubuntu 서버에 Nginx 설치하고 웹사이트 올리기
Ubuntu는 서버 운영에 많이 사용되는 리눅스 배포판 중 하나로, 사용자 친화적이고 패키지 관리가 편리하다는 장점이 있다. 이 글에서는 Ubuntu 서버에 웹 서버 소프트웨어인 Nginx를 설치하고, 간단한 웹사이트를 배포하는 과정을 단계별로 정리한다.
1. 서버 접속 준비
Ubuntu 서버는 보통 원격에서 SSH를 통해 접속한다. 서버를 구매했거나 AWS EC2, Google Cloud 등에서 Ubuntu 인스턴스를 생성한 경우, 해당 IP 주소와 SSH 키를 활용해 접속할 수 있다.
접속 명령 예시:
ssh -i my-key.pem ubuntu@서버-IP
2. 시스템 패키지 업데이트
Nginx를 설치하기 전, 시스템을 최신 상태로 유지하는 것이 좋다.
sudo apt update
sudo apt upgrade -y
3. Nginx 설치
Ubuntu에서 Nginx는 기본 저장소를 통해 쉽게 설치할 수 있다.
sudo apt install nginx -y
설치가 완료되면 자동으로 Nginx 서비스가 실행된다.
4. 방화벽 설정 (UFW 사용 시)
기본적으로 Ubuntu는 UFW 방화벽을 사용할 수 있다. HTTP와 HTTPS 트래픽을 허용해야 웹사이트 접속이 가능하다.
sudo ufw allow 'Nginx Full'
sudo ufw enable
sudo ufw status
5. 브라우저에서 확인
서버의 퍼블릭 IP 주소를 브라우저에 입력하면 Nginx의 기본 테스트 페이지가 보이면 설치가 성공한 것이다.
예: http://서버-IP
6. 기본 웹사이트 파일 설정
Nginx의 기본 웹사이트 파일은 다음 경로에 있다:
/var/www/html/index.nginx-debian.html
이 파일을 사용자 정의 HTML 파일로 교체해보자.
예시:
sudo nano /var/www/html/index.html
아래와 같이 간단한 HTML 코드를 입력한 후 저장한다.
<!DOCTYPE html>
<html>
<head>
<title>My First Website</title>
</head>
<body>
<h1>Hello, Nginx on Ubuntu!</h1>
</body>
</html>
이후 브라우저를 새로고침하면 작성한 웹페이지가 표시된다.
7. Nginx 설정 파일 기본 구조 이해
Nginx의 설정 파일은 /etc/nginx/nginx.conf이며, 가상 호스트(사이트) 설정은 /etc/nginx/sites-available/에 위치한다.
기본 설정 파일:
/etc/nginx/sites-available/default
필요 시 이 파일을 수정해 사용자 도메인, 루트 디렉토리, 리버스 프록시 설정 등을 할 수 있다. 설정 변경 후에는 항상 설정 파일 문법 검사를 하고, Nginx를 재시작해야 한다.
sudo nginx -t
sudo systemctl restart nginx
8. 사용자 콘텐츠 업로드
SCP나 FTP를 통해 로컬 컴퓨터에서 서버로 파일을 전송할 수 있다.
예시 (SCP 사용 시):
scp -i my-key.pem index.html ubuntu@서버-IP:/var/www/html/
이 방법을 활용해 직접 만든 HTML, CSS, JS 파일을 올려 웹사이트를 구성할 수 있다.
마무리
Ubuntu 서버에 Nginx를 설치하고 웹사이트를 올리는 과정은 비교적 간단하며, 리눅스 서버 운영의 기본을 익히기에 좋은 실습이다. HTML 파일을 직접 업로드하거나, PHP와 MySQL을 연동해 동적인 웹사이트로 확장할 수도 있다. 이 과정을 기반으로 다양한 웹 프로젝트를 구축할 수 있다.