Nginx Install

nginx 설치 역시 마찬가지로 설치는 homebrew 를 이용한다.

brew install nginx

mysql과 마찬가지로 자동으로 실행될 수 있도록 다음 커멘드를 입력한다.

sudo ln -sfv /usr/local/opt/nginx/*.plist /Library/LaunchDaemons
sudo chown root:wheel /Library/LaunchDaemons/homebrew.mxcl.nginx.plist
sudo launchctl load /Library/LaunchDaemons/homebrew.mxcl.nginx.plist

그러고 나면 nginx의 디폴트 포트인 8080을 통해서 nginx가 실행되고 있는 것을 확인할 수 있다.

http://localhost:8080

근데, 앞으로 설치하게 될 jenkins도 디폴트 포트가 8080이고, 여튼 저걸 좀 바꿔줘야 겠다..
나는 외부에서 도메인으로 바로 접근하는 경우, 즉 80포트로 request가 날아오는 경우에 대해 모두 spring boot가 돌고있는 서버로 proxy를 걸어 포트를 패스해주는 설정이 필요하다.

또한 마찬가지로, 이런 설정이 가능해야 jenkins등을 프록시 할 수 있을 것 같다.
설정은 다음과 같이 진행한다.
터미널을 열어 다음 커멘드를 입력한다.

vim /usr/local/etc/nginx/nginx.conf

그러면 디폴트로 세팅된 파일이 열리게 되는데, 다음 스크린샷처럼 세팅했다.

대충 설명을 해보면, 다른건 모르겠고
server {
로 시작되는 부분에 주목할 필요가 있다.

아마 처음 nginx를 설치한 경우에는 listen 이 8080 으로 되어있을 텐데, 이것의 의미는 nginx가 8080포트로 들어오는 request를 듣고 있겠다 라는 이야기인것 같다.
이것을 일단 80포트로 변경해 준다.
그리고 location / {
로 시작되는 부분에서 프록시에 관련된 부분을 작업해 준다.
뭐 다 중요하니까 구글에서 저렇게 얘기해 주겠지만 가장 중요한  부분은

proxy_pass http://127.0.0.1:8080;

부분인 것 같다.
즉 http://127.0.0.1:80 으로 들어오는 리퀘스트를 http://127.0.0.1:8080 으로 바꿔서 보내주겠다! 라는 의미이다.
이 두개만 알고 있다면, 일단 외부에서 들어오는 포트 번호별로 지정된 톰캣이나 서비스로 매핑이 가능해질 것 같다.

댓글 남기기