웹서버


오늘은 내가 여태까지 잘못 알고 있던 개념에 대해서 제대로 알게됐다.

플라스크에서 사용하는 flask run, 그리고 django에서 사용하는 runserver 명령어들이

나는 단순히 내가 만든 프로젝트를 구동해주는 명령어로 알고 있엇다.

하지만, 위 명령어들은 내가 만든 Web Application을 각 프레임워크에서 제공해주는

dev server 에 올리는 것이였다.



정적인 요청이 들어오면 nginx에서 처리를 하고

동적이 요청이 들어오면 요청을 uWSGI에 보내고 응답을 받아온다.


⒈ Client

요청을 보내고 응담을 받는다.


⒉ Nginx

웹 개발할 떄 사용하는 서버 종류 중 하나로, 아파치(톰캣) 등이 이와 같은 종류이다.

정적인 파일을 처리하기 위해 사용한다고 한다.

Nginx 관련 블로그


⒊ Socket

별도로 정리를 해야한다.

Socket 관련 블로그


⒋ uWSGI

WSGI(Webapplication Server Gateway Interface)의 한 종류이다. (+ gunicorn)

uWSGI란 WSGI라는 규칙을 따라서 만들어진 소프트웨어이며 정적인 웹 서버(Apache / Nginx)

python으로 작성된 Web Framework(Flask / Django) 사이의 통신을 도와주는 역할을한다.

WSGI 관련 블로그

pyuwsgi documents


추가적으로 iterms에서 pip install uwsgi 를 하는 과정에서 Linking error가 생겼다.

결과적으로 pip install pyuwsgi 를 통해 설치를 했다. (어떠한 이유인지는 모르겠다.)

그외에 방법도 여기에서 알게됐다.