DevOps/DevOps

[Mac OS]Mac 환경에서 nginx 실행하기

chanstory 2022. 12. 15. 17:42
반응형

nginx란

- HTTP 기반의 서버를 생성하는 소프트웨어

- 웹 서버를 생성 및 정적 웹페이지 호스팅

- Event-Driven 구조로 동작한다 (고정된 프로세스 사용)

- 적은 자원으로 효율적인 운용이 가능하다는 장점

 

nginx 설치

$ brew install nginx     // hombrew가 미리 설치 되어있어야함

 

 

nginx.conf 파일

- 논리적으로 작성되어 있는 지시어 목록이다

- 어플리케이션 전체가 지시어에 부여하는 값에 의해 동작한다.

$ sudo find / -name nginx.conf       //  find 명령어를 이용하여 nginx.conf 파일의 위치를 찾는다

 

필자의 nginx.conf 위치는 아래 와 같다.

/opt/homebrew/etc/nginx

 

cat 명령어를 통하여 conf 파일의 내용 확인하면

localhost 의 8080 포트에 index.html 파일이 출력되도록 디폴트 값이 입력되어 있다.

 

실제로 localhost:8080 확인시

이와 같은 화면이 나타난다.

 

출력되지 않을 시 nginx 가 실행되고 있는지 확인한다.

 

$ ps -ef | grep nginx

 

 

nginx.conf 파일 수정

필자는 10024 번지 포트로 변경하였고

 

index.html 파일을 nginx.conf 파일이 있는 디렉토리에 생성해주었다.

 

index.html 파일엔 아무 html을 넣었다.

 

파일 저장 후  

 

$ sudo nginx -s reload 명령어를 통해 nginx 를 중단없이 재실행 해주었다.

 

nginx reload 는 stop & start 와는 다르다 

 

reload 는 서버 중단없이 nginx 를 재실행 한다.

 

localhost:10024 확인 시 

작성해 둔 html 파일 내용이 잘 출력된것을 확인해 볼 수 있다.

 

 

오류사항!!

실습 진행 중 오류가 있었다.

실습 초반 html파일 경로를 home 디렉토리 내 임의로 만든 디렉토리에 넣어주었다

ex) /Users/test/files           // test 및 files 디렉토리는 임의로 만든것, html 파일은 files 안에있음

 

localhost:10024 확인 시 404 에러가 뜨는 것이였다.

 

해결법

404 에러라면 클라이언트의 요청이 잘못됐다는 것

 

1. 혹시 모르니 포트는 10024 번이 잘 동작되는지 확인했고

   포트는 10024로 바꾸고 welcome to nginx! (기본 html) 이 잘 출력되는지 확인했다.

=> 정상

 

2. nginx 를 삭제하고 다시 설치하였다.

   $ brew uninstall nginx

   $ brew install nginx 

=> 똑같음

 

3. html 파일을 nginx.conf 파일이 있는 디렉토리에 생성했다.

nginx.conf 에는 절대 경로로 변경해주었다. ( root   /opt/homebrew/etc/nginx; )

=> 오류 해결

 

원래는 홈 디렉토리에 있는 임의의 디렉토리로 경로 지정을 해도 잘 되어야함

맥이 가끔 이런다는데 아직 이유를 못찾았다.

 

이유를 아시는 분은 댓글 바랍니다.

==>>> 해결함!!

root 경로에 있는 디렉토리 모두 권한 설정을 해줘야함

필자는 중간에 있는 디렉토리가 750으로 되어있어 755로 바꿔주고 재실행했더니 잘됨

 

 

 

추가사항

$ sudo find / -name access.log 파일을 찾아 ( /opt/homebrew/var/log/nginx/access.log )

$ tail -f access.log 를 확인하여 nginx 서버에 수신된 log 를 확인해보자

 

 

 

 

반응형