sudo apt install nginx
Nginx를 설치.
cd /etc/nginx/sites-available
Nginx의 설정 파일이 위치한 곳임.ls명령어를 입력해 보면 default라는 기본 설정 파일만 존재함.sudo nano α
nano: 리눅스 터미널에서 사용하는 가장 쉬운 텍스트 편집기.α로 된 파일이 존재하면 해당 파일을 열고 존재하지 않는다면 빈 파일을 생성함.server {
listen 80;
server_name localhost;
location / {
proxy_pass http://localhost:8080;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header Host $http_host;
}
}
listen 80;: Nginx를 80번 포트(HTTP 기본 포트)에서 대기하도록 설정.server_name: 접속할 도메인 이름을 설정.localhost 입력.location /: 모든 경로(/)로 들어오는 요청을 어떻게 처리할지 정의.proxy_pass http://localhost:8080;: 80번 포트로 들어온 모든 요청을 현재 서버의 8080번 포트로 그대로 전달함.proxy_set_header X-Real-IP $remote_addr;: 실제 요청을 보낸 클라이언트의 IP 주소를 X-Real-IP라는 이름의 헤더에 담아 전달.proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;: 거쳐온 프록시 서버들의 IP 경로를 담음.proxy_set_header Host $http_host;: 클라이언트가 원래 요청했던 Host 이름(도메인)을 유지하여 전달.α라는 설정 파일이 만들어짐.α라는 설정 파일을 현재 배포 중인 jar파일의 설정 파일로 쓰일 수 있도록 해야됨.cd /etc/nginx/sites-enabled
sudo rm default
sudo ln -s /etc/nginx/sites-available/α
ln: link (링크)-s: Soft link (= 위에서 언급한 심볼릭 링크)/etc/nginx/sites-available/α 경로에 있는 α라는 설정 파일을 /etc/nginx/sites-enabled/α으로 심볼릭 링크함.sudo systemctl restart nginx
systemctl: 리눅스에서 프로세스를 관리하는 중앙 컨트롤러(시스템 관리 도구)라 생각하면됨.
위 명령어를 통해 Nginx를 다시 시작해줌으로써 설정 파일을 적용시킬 수 있음.
이를 통해 :8080(포트 8080)을 기본 웹 포트인 80으로 변경할 수 있음.
@.site로 구매했고 그 과정은 레퍼런스가 워낙 많으니 생략.
↑ AWS 도메인 및 DNS -> DNS 영역 생성.
↑ 도메인 이름 칸에 가비아에서 구매한 도메인을 적고 DNS 영역 생성 클릭.
↑ 하단에 네임(이름) 서버의 경우 가비아에서 구매한 도메인의 네임 서버에 사용할 값들.
↑ 할당 -> 할당 추가

↑ 리소스의 경우 이전에 AWS 인스턴스를 통해 만든 고정 IP를 사용하였음.
↑ DNS 레코드를 확인해 보면 도메인과 고정IP가 묶여 있는 것을 확인해 볼 수 있음.
↑ my 가비아 -> 서비스 관리 -> 구매한 도메인 관리 -> 네임 서버 -> 설정 버튼을 눌러서
server {
listen 80;
// ==-- 삭제 server_name localhost; 삭제 --== //
server_name α.site;
location / {
proxy_pass http://localhost:8080;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header Host $http_host;
}
}
server_name 구매한 도메인;입력해주면 됨.
α.site를 입력하니 DNS_PROBE_FINISHED_NXDOMAIN가 뜸.sudo nginx -t 명령어를 통해 설정파일 검사.↓ 이상 없음.nginx: the configuration file /etc/nginx/nginx.conf syntax is ok
nginx: configuration file /etc/nginx/nginx.conf test is successful
가비아, AWS에 오타가 있나 살펴봤지만 이상 없음.
cmd 창을 열어 nslookup α.site 입력.
α.site에 연결된 ip가 떠야됨.
↑ 가비아 도메인 관리 페이지에서 네임 서버 우측 하단에 보면 DNS 정보가 있는 것을 확인.설정 클릭.
DNS 설정 클릭.
위처럼 레코드 추가.
@란? -> 루트(root) 도메인임. 즉, α.site에 접속시 해당 IP로 연결해줌.www입력시 www.α.site와 연결됨.↓ 타입의 경우 가비아에서 도움말을 제공해줌.

DNS 설정에서 레코드를 추가해주니 정상적으로 접속되었음.
↑ cmd 창을 열어서 nslookup α.site를 입력하니 연결된 고정IP도 잘 출력 되는 것을 확인.