서버 환경과 운영체제
웹 서버 시스템 구성 요소
본격적으로 웹서버를 다루기 전에, 서버 환경(Server Environment)에 대해 잠시 살펴보겠습니다. 웹서버 같은 프로그램이 작동하려면 이를 구동할 수 있는 컴퓨터(하드웨어)가 필요하고, 컴퓨터를 효율적으로 운용하기 위해서는 운영체제(OS, Operating System)가 필요합니다.
운영체제는 하드웨어를 관리하고 프로그램이 동작할 수 있는 기본 토대를 제공하는 소프트웨어입니다. 우리가 흔히 접하는 Windows(윈도우)나 macOS(맥), Linux(리눅스) 등이 모두 운영체제에 해당합니다. 운영체제 위에서 웹 서버 같은 응용 프로그램(Application)이 실행되어 서비스를 제공합니다.
운영체제 환경
운영체제는 GUI 환경과 CLI 환경으로 크게 나뉩니다.
OPERATING SYSTEM Environment
GUI (Graphical User Interface, 그래픽 사용자 인터페이스)
아이콘, 창, 버튼 등 그래픽 요소를 통해 운영체제를 조작하는 환경입니다.( 예: Microsoft Windows)
마우스와 키보드를 사용해 직관적으로 컴퓨터를 다룰 수 있으며, 시각적으로 편리하고 사용자 친화적인 인터페이스를 제공합니다.
CLI (Command Line Interface, 명령줄 인터페이스)
그래픽 요소 없이 텍스트 명령어로 조작하는 환경입니다. ( 예: Linux, Unix)
CMD나 PowerShell 같은 터미널을 통해 명령어를 직접 입력해 시스템을 제어하며, 주로 키보드를 사용하고 결과 역시 텍스트로 출력됩니다.
리눅스는 GUI 없이도 강력한 시스템 제어가 가능하며, 자원 소모가 적고 원격 조작이 효율적이기 때문에 서버 환경에서 많이 사용됩니다.
운영체제는 상황에 따라 GUI 또는 CLI 환경 중 적절한 방식을 선택해 사용할 수 있으며, 서버 운영에는 CLI 환경이, 일반 사용자 작업에는 GUI 환경이 널리 활용됩니다.
프로세스
여기서 알아둘 개념은 포그라운드(Foreground) 프로그램과 백그라운드(Background) 프로그램입니다.
Foreground Program (포그라운드 프로그램)
사용자가 화면을 보며 직접 조작하는 프로그램을 말합니다. ( 예: 크롬 브라우저, 한글 워드프로세서 등)
화면에 창이 떠 있으며, 키보드나 마우스 입력에 즉각 반응하는 특징이 있습니다.
Background Program (백그라운드 프로그램, 데몬 Daemon)
화면에 보이지 않고 백그라운드에서 실행되는 프로그램입니다. ( 예: 웹 서버(Apache, nginx) 등)
데몬 형태로 실행되어
사용자 조작 없이도 항상 대기하며 클라이언트 요청을 처리합니다.
리눅스에서는 systemd와 같은 서비스 매니저가 이러한 데몬을 관리합니다.
웹 서비스를 제공하려면 다음 세 요소가 필요합니다:
1. 하드웨어(서버 컴퓨터)
2. 운영체제(예: 리눅스)
3. 웹서버 소프트웨어(예: nginx)
운영체제는 프로그램 실행 환경을 제공하며, 웹서버 소프트웨어는 그 위에서 백그라운드 형태로 동작하여 네트워크 요청을 처리합니다.
가상화와 WSL 소개
Virtualization (가상화 기술)
하나의 물리적 컴퓨터에서 여러 운영체제를 동시에 실행할 수 있도록 해주는 기술입니다.
예: 한 대의 PC 안에서 Windows와 Linux 운영체제를 각각 가상 컴퓨터(VM)로 실행 가능
대표 기술: Hyper-V
- 마이크로소프트의 가상화 솔루션
- Windows에서 리눅스나 또 다른 Windows를 VM으로 실행 가능
WSL (Windows Subsystem for Linux)
Windows 환경에서 리눅스 커널과 유사한 계층을 만들어, 리눅스 명령어를 실행할 수 있게 해주는 기술입니다.
- Hyper-V 기반으로 동작
- 리눅스 배포판(Ubuntu 등)을 설치해 터미널 환경을 제공
- 듀얼 부팅 없이 Windows와 Linux 환경을 동시에 활용 가능
- 개발자에게 매우 유용
가상화 기술은 서버 운영, 개발 환경 구축, 멀티 OS 사용 등에서 매우 중요한 역할을 하며, WSL은 Windows 사용자에게 간편한 리눅스 환경을 제공합니다.
다음에 다룰 사항
다음으로는 본격적인 리눅스를 통한 실습을 진행할 예정이며, WSL을 통해 설치 가능한 리눅스 배포판에는 Ubuntu 22.04 LTS 버전을 설치 및 기본 명령어 에 대해 알아보겠습니다. 감사합니다.
2025.06.08 - [웹 개발] - WSL과 우분투 설치 및 기본 명령어
WSL과 우분투 설치 및 기본 명령어
WSL설치 기본 명령어를 살펴보기에 앞서 WSL과 우분투를 설치해야 합니다.WSL의 설치의 경우, powershell의 관리자 권한을 실행한 후 WSL설치를 진행합니다. wsl --install 저의 경우에는 이미 설치가 완료
younghlee.tistory.com
'웹 개발' 카테고리의 다른 글
docker와 리눅스 명령어 실습2 (6) | 2025.06.22 |
---|---|
docker와 리눅스 명령어 실습1 (2) | 2025.06.22 |
WSL과 우분투 설치 및 기본 명령어 (2) | 2025.06.08 |
웹 브라우저와 웹 서버의 상호작용 1 (0) | 2025.05.18 |
웹 개발, 어디서부터 어떻게? (4) | 2025.05.11 |