NGINX 설치, 환경설정

LeeJaeG·2023년 8월 9일
1

OS:CentOS7

FrontEnd: Vue

바이너리로 설치 하려다 현재 MSA를 공부하고 Container와 K8S 를 공부하며 사용중이라

기본 설치를 컨테이너로 설치하게 되었다.

도커가 아닌 podman으로 설치했으니 두개의 차이는 나중에 포스트 할 예정이다

개발된 Vue를 빌드를 하게 되면 /var/www/{git directory name}/dist 형태로 생겨난다.

빌드된 dist 를 nginx 와 연동하여 배포 하려고 한다.( CICD 를 사용할 예정)

(dist 파일이 비어있는 상태에서 nginx에 올릴시 403 에러 발생)

podman pull nginx

#podman run -d -p 80:80 --name vue-diray-nginx -v [빌드된 dist위치]:/usr/share/nginx/html nginx
podman run -d -p 80:80 --name webserver -v /root/go/src/github.com/wlrmworms/forwe/cube/dist:/usr/share/nginx/html nginx

컨테이너 bash 실행
podman exec -it webserver /bin/bash

[명령어 상세 설명]

run 실행

  • d 백그라운드에서 실행
  • p [host포트번호]:[container포트번호] 포트연결
  • -name [container이름] 내가 컨테이너 이름 정하기
  • v [host path]:[container path] 컨테이너볼륨을 host 볼륨과 연결하기

nginx image 이름

default 파일에서 nginx 웹 서버의 기본 설정을 조작하는 방법

apt-get update

apt-get install vim

cd etc/nginx/conf.d/default.conf // 여기서 웹서버 기본설정

default 파일의 server 항목 설정

/etc/nginx/sites-enabled/default

server 항목에서 80포트를 8080포트로 변경했다.

이는 8080포트를 통해 모든 웹 서버의 요청을 받도록 nginx 웹 서버의 기본 설정을 변경하는 것이다.

  • 참고내용

listen 8080 default_server; 는 IPv4 관련 설정

listen [::] 8080 default_server; 는 IPv6 관련 설정

default_server는 모든 웹 서버의 요청을 받겠다는 설정

  • 포트 설정 관련 현재 80포트에는 사용중이라 8080포트로 잡았다가 네이버 클라우드 vm 을 사용하여 80포트를 사용을 하게됨! 공인IP에 사용시 80포트를 열어놓아야함 (네이버 클라우드 사용 할 때 ACG설정에서 80포트를 닫아놓고 해놓아서 시간을 너무 잡아먹었음…)

Issue

위의 설정을 해주고 nginx container 를 restart 했지만 설정이 제대로 되지 않았다.

restart 하지않고 reload 를 사용하여 문제를 해결하였다.

restart : 서버를 멈춘 후 다시 실행(이전 설정으로 돌아가는 문제가 발생)

reload : 서버를 중단하지 않고 reload 명령어 실행 시점에 설정을 바꾸어줌

nginx -s reload

nginx의 설정 파일을 변경하는 경우라면 nginx -t를 사용하여 설정파일에 이상이 있는지 없는지 확인하는 것도 좋은 방법

dns 설정하고 싶을 시 가비아에 dns설정 → 레코드에 ip주소 입력

cd etc/nginx/conf.d/default.conf

vi default.conf

백엔드에서 정보를 받아와줘야함

ref

https://unpasoadelante.tistory.com/198

도메인 설정하기

nginx 서버 재시작 하는 방법 restart / reload

profile
코딩으로 경제적 자유까지

4개의 댓글

comment-user-thumbnail
2023년 8월 9일

즐겁게 읽었습니다. 유용한 정보 감사합니다.

1개의 답글
comment-user-thumbnail
2023년 8월 9일

잘 읽고 갑니다

1개의 답글