inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

비전공자를 위한 풀스택 맛집지도 만들기 프로젝트!: Front, Back-end 그리고 배포까지

배포 - HTTPS 적용 후 추가작업 (reverse proxy, code pull)

app.use(express.static("")); 사용이유

263

wjdgh2709

작성한 질문수 2

1

app.use(express.static(""));를 단지 정적 파일들의 서비스할 경로를 지정한다는 건 이해했습니다. 하지만 이전, 위 사진과 같이 강사님의 수업에서 html, css, js들이 모여있는 파일을 지정하기 위해 Nginx 설정 파일에서 루트 경로를 설정한다고 배웠습니다.

그래서 이 설정만으로 서비스하는데 문제가 없지 않을까?? 라는 판단이 돼, app.use(express.static(""));를 해줘야 하는 이유를 잘 모르겠습니다. (물론, 이 코드를 지우고 한번 실행시켜봤지만 오류가 발생하는 것을 인지했습니다. 이유는 모르겠습니다. ㅠㅠ)

무슨 이유에 app.use(express.static("")); 사용해 줘야 하는 것인가요??

mysql github aws git rest-api HTML/CSS javascript

답변 1

1

Jay

안녕하세요.

강의 내용에 따르면 nginx는 도메인으로 접속하면 모든 요청을 reverse proxy를 사용해 3000번 포트로 요청을 넘깁니다.

즉, 모든 요청을 express에게 넘기게 되는 것인데요.

이러면 express에서 직접 정적파일을 제공할 수 있어야 합니다.

그렇기 때문에 app.use(express.static("")); 을 사용해주는 것입니다.

 

nginx가 정적파일을 제공하게 하고 express는 순전히 api 로직만 수행하고 싶게 하려면,

api용 서브도메인을 생성하고

nginx 설정파일에 서브도메인 블록을 설정한다음 그 블록에서만 3000번 포트로 프록시를 걸어서 해결할 수 있습니다.

 

정리하자면, 하나의 도메인에 모든 요청을 express로 넘겨서 nginx는 라우터 역할만 시키고 있는 것입니다. 때문에 express에서 직접 정적파일을 제공할 수 있게 해줘야 하는 상태라고 이해하시면 되겠습니다.

 

감사합니다.

live server가 안 떠요..

0

81

1

카카오맵 API 가 안뜹니다...

0

686

2

카카오맵API 지도 관련

0

175

1

Putty에서 nginx를 vi로 수정할때 오류

0

283

3

mysql과 선생님의 깃허브 코드연결

0

187

1

nodemon 실행오류

0

233

2

Azure 서버로 구축하고 작업하는 방법 알 수 있을까요?

0

260

2

css 적용 중 강의대로 적용되지 않아 질문 드립니다

0

350

2

강의를 잘 활용하는 법 추천 부탁드립니다.

0

287

1

MysqlWorkbench 접속문제

0

303

1

전체 핀이 조회되지 않습니다.

0

262

1

빅데이터 처리관련

1

284

1

섹션5의 2번째 강의 질문-setMap 비동기 처리 이유

0

239

1

PM2 EADDRINUSE 에러

0

410

2

인스턴스 중단 후 재시작

0

281

1

이미지 부분에 cctv 영상을 넣고 싶은데요.

0

584

2

노션 링크가 어디있나요 ?

1

312

1

axios 이후 마커 오류

0

292

0

service nginx restart 에러

0

711

1

섹션10 배포하기 unbuntu에서 root경로가 안뜹니다ㅠㅠ

0

503

3

선생님 추가적으로 새로운 페이지를 만드려고 하는데요...

0

248

1

코드 질문 드립니다!

0

228

1

혹시 강의자료 노션 내리셨나요?

0

240

1

노드몬 에러 참조하세요

0

360

1