AWS EC2에서 Node.js로 Express 앱을 돌리고 NGINX로 proxy 설정으로 구매한 도메인에서 Express 앱으로 연결하는 게 목표였다
하지만, proxy 설정 후에도 계속되는 기본 페이지인 'Welcome to nginx!' 때문에 삽질했다 🤯
설명은 NGINX 설치, 프록시 설정, 기본 페이지 제거 순으로!! (Node.js는 이미 실행하고 있다는 가정)
( 간단한 NGINX 소개
NGINX는 Event-Driven 방식으로 클라이언트의 요청을 처리해주는 비동기 기반의 웹 서버이다.
동시 접속 처리에 특화된 웹 서버 프로그램으로, 클라이언트의 요청 처리를 분산시킬 수 있는 로드 밸런스를 사용함으로 효율적이다.
정적파일을 다이렉트로 제공해주기 때문에 백엔드 서버에 부담을 주지 않고,
클라이언트는 NGINX 포트로만 백엔드 서버에 접근할 수 있어 보안에 도움이 된다.)
1. NGINX 설치
sudo apt-get install nginx
를 통해 NGINX를 설치한다.
2. NGINX 설치 확인
sudo systemctl status nginx
를 통해 설치가 잘 되었는지 확인한다.
3. NGINX 시작과 프록시 설정
sudo service nginx start
로 NGINX를 실행시킨다.
이어서 밑의 두 명령어로 프록시 설정 파일을 생성해준다. (node-server가 설정 파일 이름이며, 다른 이름으로 지으셔도 됩니다.)
< 설정 파일 내용>
server {
listen 80;
server_name [IP 주소 혹은 도메인],
location / {
proxy_pass http:127.0.01:[실행중인 node app 포트 번호]
}
}
4. 파일 연결
sudo ln -s /etc/nginx/sites-available/node-server /etc/nginx/sites-enabled/
명령어로 방금 생성한 설정파일과 연결된 파일을 /sites-enabled/ 생성해줍니다.
이어서 해당폴더에서 la -alF 명령어로 연결된 것을 확인할 수 있습니다.
5. NGINX 기본 페이지 제거
4번에서 보듯이 /sites-enabled/에 default 라는 파일이 있습니다.
이 파일이 기본 NGINX 프록시 설정 파일이기 때문에 해당 파일을 없애주시면 됩니다.
(저는 혹시 모를 경우를 위해 상위폴더로 옮겼습니다.)
6. NGINX 재설정
마지막으로 nginx 설정파일을 다시 로드해주시면 끝납니다. 👍
'개발 이슈' 카테고리의 다른 글
[Notion] 이미지 왼쪽 정렬 / 오른쪽 정렬 (7) | 2020.04.10 |
---|---|
AWS EC2와 도메인 연결 (가비아) (6) | 2020.03.19 |
[Android] EditText 검색창으로 사용하기 (+ Enter Key Event 제어) (0) | 2019.12.17 |
[Android] 오픈 API 키 문제 (Retrofit2) (0) | 2019.10.24 |
[MySQL] varchar 에서 number로 / 특정 문자 제거 (0) | 2019.07.11 |