방구석 컴퓨터/방구석 DevOps / / 2023. 12. 14. 15:18

3. Nginx 설치

반응형
Nginx란?

경량 웹서버로 정적 파일을 서비스해주는 웹 서버로 이용되거나, 요청을 다른 서버로 전달해주는 리버스 프록시 서버로 활용됩니다.

리버스 프록시로 사용되면 WAS의 부하를 줄이는 로드 밸런서로 역할을 하게됩니다.

좀더 자세한 설명은 아래 링크를 참고해주세요

https://blog.naver.com/gi_balja/223028077537

 

Nginx란 무엇인가?

Nginx(엔진엑스)는 높은 성능과 안정성 그리고 현재 가장 많이 사용되고 있는 웹 서버입니다. Apache(아...

blog.naver.com

 

저는 이번에 요청을 도메인에 따라 구분하여 내부 Spring 서버들에게 전달하기 위한 리버스 프록시 서버로 Nginx를 사용할 예정입니다.


Nginx를 설치하기에 앞서 dnf를 업데이트해주겠습니다.

dnf는 Dandified YUM의 약자로 기존 Red Hat 계열의 패키지 관리자인 yum의 단점인 느린 속도, 과도한 메모리 사용 등을 개선하여 나온 새로운 패키지 관리자

 

dnf update

 

업데이트를 완료한 후, 설치가능한 nginx 버전들을 확인한 후에 설치를 진행하겠습니다.

dnf module list nginx	# 설치가능한 버전 확인

dnf install nginx	# nginx 설치

 

설치를 완료한 이후에 설정파일을 수정해줘야합니다.

cat /etc/nignx/

vi nginx.conf

 

nginx.conf가 기본 설정 파일이지만, 여러 개의 사이트를 설정하거나 각 서비스 별 설정파일을 만드는 상황 등을 대비해서 보통 기본 설정 파일의 내용을 주석 처리하고 conf.d 디렉토리에서 새로운 설정 파일을 생성하여 내용을 추가합니다.

 

기본 설정 파일에서 server 관련 내용을 주석 처리하고 저장해줍니다.

(밑줄 그은 부분이 conf.d 디렉토리 내에 설정 파일들을 읽어와서 처리해주는 부분입니다)

nginx.conf 파일 내용

 

이제 conf.d 디렉토리에 default.conf 라는 설정 파일을 만들어줍니다.

(이름은 원하는 대로 지어도 되지만 뒤에 .conf 는 반드시 붙여줘야합니다!)

 

만든 default.conf 의 내용을 아래와 같이 채웁니다.

향후 내부 spring 서버들도 세팅되고 ssl까지 추가되면 설정 내용을 바꿀겁니다.

지금은 우선 Nginx가 잘 설치되었는지 index 화면을 보기위한 테스트용으로 초기 설정을 한거라고 생각해주세요

    server {
        listen       80 default_server;
#        listen       [::]:80 default_server; # 주석처리하지 않으면 IPv6 관련 에러가 발생할 수 있습니다
        server_name  _;
        root         /usr/share/nginx/html;

        # Load configuration files for the default server block.
        include /etc/nginx/default.d/*.conf;

        location / {
        }

        error_page 404 /404.html;
            location = /40x.html {
        }

        error_page 500 502 503 504 /50x.html;
            location = /50x.html {
        }
    }

 

위에 IPv6 관련 오류는 아래와 같이 발생할 수 있습니다.

 

관련 링크: https://trac.nginx.org/nginx/ticket/1821

 

#1821 (Nginx 1.14.0 fails to start if ipv6 support on host is disabled) – nginx

nginx -V: nginx version: nginx/1.14.0 (Ubuntu) built with OpenSSL 1.1.1 11 Sep 2018 TLS SNI support enabled configure arguments: --with-cc-opt='-g -O2 -fdebug-prefix-map=/build/nginx-pTuC1b/nginx-1.14.0=. -fstack-protector-strong -Wformat -Werror=format-se

trac.nginx.org

 

이제 Nginx 설정이 끝났습니다.

아래 명령어로 Nginx를 시작하고

systemctl enable nginx
systemctl start nginx

systemctl status nginx # nginx 상태 체크

 

브라우저를 통해 해당 서버의 IP를 입력하고 들어가면

이렇게 nginx 가 잘 나오는것을 볼 수 있습니다!

 

만약 설정값을 바꾼 이후에 nginx를 재시작한다면

아래의 명령어를 쓰면 됩니다!

systemctl restart nginx

참고

https://velog.io/@kim_think_rae/ngnix-%EC%84%A4%EC%B9%98-for-rocky

 

ngnix 설치 및 배포(react) for rocky

HTTP, Reverse proxy 를 지원하는 웹 서버 프로그램. 러시아에서 개발되었고 미국에서 운영중이다.ngnix 는 기본적으로 rocky linux에 설치되어있는것 같다.하지만 최신 버전을 설치해주자.이후 nginx 활성

velog.io

https://docs.3rdeyesys.com/compute/ncloud-compute-lemp-nginx-install-setting-rocky-linux-guide.html#%EC%84%9C%EB%B2%84-%EC%A4%80%EB%B9%84

 

Rocky Linux에서 NginX 설치, 설정하는 방법

Ncloud Rocky Linux 서버에 NginX를 Package로 설치하고 기본 설정을 하는 방법입니다

docs.3rdeyesys.com

 

반응형

'방구석 컴퓨터 > 방구석 DevOps' 카테고리의 다른 글

4. git 설치와 Jenkins 연동  (0) 2023.12.15
2. 메이븐 설치  (0) 2023.12.14
1. 리눅스 자바 설치 - JDK 17  (0) 2023.12.13
  • 네이버 블로그 공유
  • 네이버 밴드 공유
  • 페이스북 공유
  • 카카오스토리 공유