웹서버
오늘은 내가 여태까지 잘못 알고 있던 개념에 대해서 제대로 알게됐다.
플라스크에서 사용하는 flask run, 그리고 django에서 사용하는 runserver 명령어들이
나는 단순히 내가 만든 프로젝트를 구동해주는 명령어로 알고 있엇다.
하지만, 위 명령어들은 내가 만든 Web Application을 각 프레임워크에서 제공해주는
dev server
에 올리는 것이였다.
정적인 요청이 들어오면 nginx에서 처리를 하고
동적이 요청이 들어오면 요청을 uWSGI에 보내고 응답을 받아온다.
⒈ Client
요청을 보내고 응담을 받는다.
⒉ Nginx
웹 개발할 떄 사용하는 서버 종류 중 하나로, 아파치(톰캣) 등이 이와 같은 종류이다.
정적인 파일을 처리하기 위해 사용한다고 한다.
⒊ Socket
별도로 정리를 해야한다.
⒋ uWSGI
WSGI(Webapplication Server Gateway Interface)의 한 종류이다. (+ gunicorn)
uWSGI란 WSGI라는 규칙을 따라서 만들어진 소프트웨어이며 정적인 웹 서버(Apache / Nginx)와
python으로 작성된 Web Framework(Flask / Django) 사이의 통신을 도와주는 역할을한다.
추가적으로 iterms에서 pip install uwsgi
를 하는 과정에서 Linking error가 생겼다.
결과적으로 pip install pyuwsgi
를 통해 설치를 했다. (어떠한 이유인지는 모르겠다.)
그외에 방법도 여기에서 알게됐다.