프로그래밍/Web

[Web] Oracle Cloud를 활용한 Web Server 환경 구축 (2) - Nginx web server

이동헌 2024. 4. 28. 10:20

이번엔 nginx를 활용해 웹을 띄워보도록 하자. 웹에 대한 지식이 전무한 나는, 구글링을 많이 활용했는데 apache와 nginx중에 기능이 많지만 무거운 apache 대신 가벼운 nginx를 쓰기로 결정하였다.

 

우선 cloud에 접속한다. 접속 후 클라우드에 nginx를 설치 해야한다. 설치에는 몇 분 정도 걸린다.

sudo apt-get install nginx

 

설치가 완료되면, nginx를 시작하고 localhost부터 웹페이지 파일(html)을 수신받을 수 있는지 확인해보자.

sudo systemctl start nginx
curl localhost

 

 

웹페이지는 외부에서 접속해야 그 의미가 있으므로, 이제 외부 접속을 위한 세팅을 해야 한다.

  http 통신은 기본적으로 예약된 80번 포트를 사용하고, https 통신에는 443포트를 사용한다고 한다. 그래서 Oracle Cloud에서도 80, 443 포트를 열어주고, 인스턴스 또한 두 포트를 열어줘야 한다. 우선 인스턴스에서 해줘야 하는 것들을 진행하자. 우선 iptable을 초기화 시킨 뒤 리스트를 보자.

sudo iptables -F

 

  그리고 tcp통신으로 80, 443포트로 들어오는 통신을 허용하도록 추가한 뒤 다시 리스트를 살펴보면, 다음과 같이 http, https에 대한 통신을 받도록 되어있다.

sudo iptables -I INPUT 1 -p tcp --dport 80 -j ACCEPT
sudo iptables -I INPUT 1 -p tcp --dport 443 -j ACCEPT

 

  여기서 끝이 아니다. 삽질을 조금 하며 알아낸 결과, 이 인스턴스에서 http서비스에 대한 방화벽 예외 설정을 해줘야 가능하다. 방화벽에 http를 추가하자.

(수정) Ubuntu는 아래 스텝은 필요없다. 이 방법은 내가 초기에 Oracle Linux로 이미지를 생성하였는데, 이 때 발생한 문제이다.

sudo firewall-cmd --add-service=http --permanent
sudo firewall-cmd --reload

이 후 firewall service 목록을 보면 http가 들어가있다.

 

 

이제 인스턴스의 설정은 끝났고, Oracle Cloud쪽 설정이 필요하다. 인스턴스를 켜서 Subnet을 선택해 들어가자.

Subnet창에서 default security list를 선택하자.

 

  사진을 보면 나의 경우 이미 추가해 둔 뒤라 80, 443, 8000포트 정보가 있다. 여기서 Add Ingress Rules를 선택하여 80,433 포트를 추가해주면 된다. 이 때 모든 주소들에 대해 허용할 것이므로 SOURCE CIDR쪽에는 0.0.0.0/0을 입력해준다.

 

  이렇게 해주면 이제 외부 접속이 가능하다. 내 인스턴스의 아이피를 인터넷 주소창에 입력하면 기본 웹페이지가 나타난다. 여기까지 하면 기본 환경설정이 완료되었다!

참고 레퍼런스

https://okjsp.tistory.com/1165644380

 

[평생 무료] 오라클 클라우드 웹서버 삽질후 정리 기록

aws는 free tier가 1년이지만 oracle cloud는 평생(상시常時) 무료라고 합니다. https://www.oracle.com/kr/cloud/free/ 그래서 도전해 봤는데, 삽질을 많이 하고, 경험을 정리해서 올립니다. 1. https://cloud.oracle.com

okjsp.tistory.com

https://brunch.co.kr/@topasvga/3028

 

1.오라클 클라우드 - 웹 서비스 만들기

본 내용은 개인적으로 작성한 부분이라 틀릴 수 있습니다. 오라클 클라우드 웹 서비스 만들어 보자. 기본 네트워크 구성하고, 퍼블릭에 베스천,  퍼블릭에 웹서버, 프라이빗에 웹서버, 로드 밸

brunch.co.kr