-
서버와 서비스
- 서버 : 서비스를 주는 객체 (provider)
- 서비스 : 서버가 클라이언트에게 제공하는 정보/기능
-
클라이언트 - 서버 관계
- 서버: 요청을 받으면 처리하여 응답을 제공
- 클라이언트: 서버에 요청을 보내서 서비스를 응답으로 받음
-
서버의 동작 방식과 순서(요청이 들어왔을 때 서비스가 어떻게 처리되는가?)
- Client : login.java 파일로 요청
- Server Program에서 java를 해석하지 못하는 문제 발생시 Backend Language로 넘김
- Back Language: 받은 java 프로그램을 해석, 해석한 회원 정보가 있는 지 파악위해 DB에 query던짐
- DB에서 query에 대한 답을 Backend Language로 전달하면 Server Program에 또 보내서 Client에게 전달
-
서버의 구조
- Server Program --> '파이썬 웹 배포로 보는 서버 구조'
- 웹서버 :
- 하드웨어 측면: web server의 소프트웨어와 website의 컴포넌트(HTML, CSS stylesheets, JavaScript files)를 저장하는 컴퓨터
- 소프트웨어 측면 : 웹 사용자가 호스트 파일들에 접근하는 방식 관리 (HTTP 서버 국한)
참고링크
- nginx : 프로그램의 흐름이 이벤트에 의해 결정되는 event driven 방식의 서버 (비동기 이벤트 기반)
- apache :요청 하나 당 프로세스/스레드가 처리하는 구조의 서버
- Back-end Language
- java - spring, spring boot
- javascript - node.js, express
- python - django, flask
- DB, DBMS --> Mysql vs MongoDB 정리 Velog
-
APM
: Apache 웹서버 + PHP 언어 + MySQL 데이터 베이스
-
비트나미
: 어플리케이션 솔루션들을 패키지로 만들어 이용자가 어플리케이션을 쉽게 설치하게 해줌
(WAMP : WindowOS Apache, MySQL, PHP, MAMP : MacOS Apache, MySQL, PHP, MAMP)
-
로컬호스트(localhost)
: 서버의 기능을 제공하는 로컬의 머신
-
가상머신(Virtual Machine)
:물리적으로 존재하는 컴퓨터가 만들어내는 가상의 컴퓨터
(프로세스 가상 머신과 시스템 가상 머신이 있다)
- Virtual Box
- VMware
-
Linux, Ubuntu
: Unix 기반으로 개발된 Linux 운영체제의 여러 배포판 중, 데비안에서 파생된 Ubuntu
-
리눅스 명령어
- 기본 명령어/자주쓰는 명령어
-
리눅스 디렉토리 구조
- 기본 디렉토리
-
vi(vim) 편집기 사용법
- 사용법