PHP 개발자라면 알아야 할 웹서버의 구성
일반적인 사용자(클라이언트)는 위 그림에서 점선 부분 안쪽에서만 왔다갔다 하는것이고 개발자는 웹뿐만 아니라 FTP와 TELNET등을 이용해 서버에 접속 후 여러 작업을 수행하게 된다.
사용자가 웹서버에 접속해 회원가입을 한다고 생각해 보자. 브라우저를 열어 검색을 하고 검색결과중에 하나를 선택해 접속하게 된다.
그런 후 회원가입을 하면 이름과 아이디, 암호등을 입력한 후 가입을 누르게 될것이다.
이때 웹서버는 그 정보를 받아서 디비서버에 저장하게 된다.
회원가입을 마친 사용자가 로그인을 위해 로그인 페이지로 이동 후 아이디와 비밀번호를 입력 후 로그인 버튼을 누르면 웹서버는 이 사용자의 아이디와 암호를 디비에서 조회해 본다.
사용자가 입력한 아이디와 암호가 정확하게 일치하면 로그인 성공 처리를 하게 되고 만약 일치하지 않으면 로그인 실패 처리를 하게 된다.
일반적으로 사용자는 웹서버에만 접속한다. 웹서버에서 디비 서버를 접속하는 경우가 대부분이다. 물론 웹서버와 디비서버가 같이 있는 경우도 있는데 이때도 사용자가 디비에 직접 접속하는 경우는 거의 없다.
개발자는 브라우저를 통해 웹서버에 접속하기도 하고 ftp를 이용해 서버에 접속할 수 있어야한다. 그래야 파일을 수정하거나 추가할 수 있기때문이다.
디비서버도 마찬가지로 개발자가 직접 접속할 수 있다. 보통 mysql(mariadb), oracle등을 사용하며 각자 디비 접속용 클라이언트 프로그램이 존재한다.
위 그림은 이해를 돕기 위한 그림이므로 실제 운영과는 다를 수 있다. 실제로 운영할때는 대부분 개발서버와 운영서버를 따로 두고 작업하는 경우가 많다.