app.use(express.static("")); 사용이유
263
작성한 질문수 2
app.use(express.static(""));를 단지 정적 파일들의 서비스할 경로를 지정한다는 건 이해했습니다. 하지만 이전, 위 사진과 같이 강사님의 수업에서 html, css, js들이 모여있는 파일을 지정하기 위해 Nginx 설정 파일에서 루트 경로를 설정한다고 배웠습니다.
그래서 이 설정만으로 서비스하는데 문제가 없지 않을까?? 라는 판단이 돼, app.use(express.static(""));를 해줘야 하는 이유를 잘 모르겠습니다. (물론, 이 코드를 지우고 한번 실행시켜봤지만 오류가 발생하는 것을 인지했습니다. 이유는 모르겠습니다. ㅠㅠ)
무슨 이유에 app.use(express.static("")); 사용해 줘야 하는 것인가요??
답변 1
1
안녕하세요.
강의 내용에 따르면 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





