본문 바로가기

Web Server/Nginx

(3)
[Nginx] django에서 nginx static file serve 하기 1. 문제점 docker로 django와 nginx서버를 띄우고 80번 포트로 접속을 하면 404 에러가 뜨면서 화면이 나오지 않는다. 위와 같은 문제는 django 앞에 nginx가 있는 리버스 프록시 아키텍처 구조인데, nginx쪽에서 static 파일을 django에게 요청을 받지 못한 문제점이다. 즉, nginx 컨테이너 안에 django 파일이 없다는 뜻이다. 해결하기 위해서는 django static file을 nginx에 볼륨 마운트를 해주어야 한다. 2. 해결방법 (1) collectionstatic 먼저 다른 static 파일이 있다고도 가정했을 때, django의 static 파일과 다른 static file을 한 경로에 모을 필요가 있다. # settings.py STATIC_URL ..
Nginx 개념 및 configuration 1. 개념 nginx는 apache와 같은 웹 서버중 하나로, 가벼우면서 여러 요청을 한 번에 처리할 수 있는 장점을 가진 웹 서버이다. apache보다 동작이 단순하고 전달자 열할만 하기 때문에 동시접속에 특화되어 있다는 특싱이 있다. 만약 동시접속자가 1000명 이상이라면 서버를 증설하거나, nginx 환경을 권장한다고 할 정도로 성능이 좋고 다중 접속에 특화되어 있다는 것을 알 수 있다. nginx는 구동 방식이 Event Driven(비동기 처리 방식)인데, 이것은 요청이 들어오면 어떤 동작을 해야하는지만 알려주고 다른 요청을 처리하는 방식이다. 그러다보니 CPU와 관계없이 모든 입출력들을 전부 Event Listener로 전달하기 때문에 흐름이 끊기지 않고 응답이 빠르게 진행되어 1개의 프로세스..
Nginx vs Apache 1. Nginx란? 리버스 프록시, 로드밸런스서, http 캐시 등 다양한 기술을 제공하는 웹 서버 프로그램이다. 이벤트 기반 구조(Event-Driven-Model)를 가지고 있으며, 현재 아파치 서버와 함께 웹 서버 분야에서 1, 2등을 다투고 있다. 여기서 이벤트 기반 구조는 무엇이며, 어떤 점이 좋아서 Nginx를 사용하는 것일까? 먼저 Nginx를 알기전에 Apache와 왜 비교를 하는지 또는 무엇인지에 대해서 작성할 것이다. 2. 아파치 서버 탄생 - 1995년 아파치 서버가 탄생하기 이전에, 유닉스 기반으로 만들어진 최초의 웹서버 NCSA HTTPd가 있었다. 버그가 굉장히 많고, 불안정해서 개발자들이 사용할 때마다 불편함을 겪고 있었다. 도저히 못쓰겠다고 불평하던 개발자들 중 일부가 버그를..