[linux]Web server 구축

2025. 2. 13. 12:16·Linux

1. 3Tier Web Architecture

3-Tier 웹 아키텍처(3계층 구조)는 웹 애플리케이션을 논리적으로 세 개의 계층으로 분리하여 구성하는 방식으로, 일반적으로 Presentation(프레젠테이션), Application(애플리케이션), Data(데이터) 계층으로 나뉨
이 방식은 가독성, 보안성, 확장성, 유지보수성을 향상시키는 데 기여한다

 

 

1. Presentation Layer : 프레젠테이션 계층

  • 사용자 인터페이스(UI) 를 담당하는 계층, 웹 브라우저 , 모바일 앱 등 접근
  • HTML,CSS,JavaScript 작성된 프론트엔드, 서버 템플릿 엔진이 포함됨
  • 사용자 요청을 받아 서버로 전달 ,서버에서 받은 데이터를 표시

2. Application Layer

  • 비즈니스 로직 처리하는 서버 계층
  • Reset API, GraphQL API를 통해 클라이언트 요청 정리
  • 주요 웹 애플리케이션 프레임 워크 : Node.js, Django, Spring Boot, Flask 
  • 역할: 클라이언트 요청을 받아 데이터 처리, 데이터베이스와 연동함

3. Data Layer

  • 데이터베이스 및 저장소 계층
  • 관계형 데이터베이스 (PostgreSQL,Orcal DB) 등 이 포함
  • 데이터를 영구적 저장, 애플리케이션 계층에서 필요한 조회 , 수정

2. 3-Tier 아키텍처의 장점

  • 보안 강화: 데이터 계층이 직접 외부에 노출되지 않음
  • 확장성: 각 계층을 독립적으로 확장 가능 (예: 로드 밸런서를 통해 웹 서버 확장)
  • 유지보수성 향상: 특정 계층만 수정해도 전체 시스템에 영향이 적음
  • 성능 최적화: 각 계층별로 로드 밸런싱, 캐싱 등을 적용하여 성능 개선 가능

 

2. 네트워크 엔지니어 관점에서 3-Tier 아키텍처 설계 고려사항

L4, L7 스위치 활용

  • L4(전송 계층) 스위치는 클라이언트의 TCP/UDP 포트 기반 라우팅
  • L7(애플리케이션 계층) 스위치는 URL, HTTP 헤더, 쿠키 등을 기반으로 로드 밸런싱

DNS 솔루션 적용

  • 클라이언트 요청을 여러 웹 서버로 분산하는 GSLB(Global Server Load Balancing)
  • 내부 DNS를 활용하여 서비스 고가용성 및 장애 대응

보안 강화

  • WAF(Web Application Firewall) 배포
  • DB 접근을 위한 네트워크 ACL 및 VPN 설정
  • TLS 암호화를 통한 데이터 보호

클라우드 기반 확장

  • AWS: ALB(Application Load Balancer), RDS(Database Service), Lambda
  • Azure: Application Gateway, Cosmos DB
  • GCP: Cloud SQL, Load Balancing

3-Tier Architecture PowerPoint Presentation Slides - PPT Template

 

3. HTTPd 웹 서버 구현

 

 3-1. http 서버 구성

#HTTPd 패키지 설치

dnf -y install httpd

#웹 문서 저장 디렉터리 설정
파일 경로 > /var/www/html

#패키지 정보 확인

rpm -qi httpd

#웹 서버 환경설정 파일, 
/etc/httpd/conf/httpd.conf

 

#웹 서버 설정 파일 주요 설정
 
 ServerName http://www.sammple.com:80 
  -> 서버의 도메인 명이나 IP 주소를 기재하는 곳으로 설정 값은 도메인:포트번호 형식
 DocumentRoot " /var/www/html" 
  -> 웹 문서를 저장할 디렉터리 확인
 DirectoryIndex index.html
  -> 웹 문서에서 가장 먼저 인식되는 파일의 형식을 지정

 

 3-2. 웹 서버 운영 부가 서비스 연동

 

3-2.1 Apache, MySQL, PHP 연동 설치

 

dnf -y install php*
#php 패키지 설치
or http://www.php.net 참고

#DB 패키지 설치
dnf -y install mariadb-server

# 설치 후 실행 및 재시작
systemctl restart httpd
systemctl --now enable mariadb

php -v
mysql -v

 

3-3 웹 서버 구축

 

3-3.1 워드프레스 패키지 구성

사용할 웹 설치
wget https://ko.wordpress.org/latest-ko_KR.zip

#압축 해제

unzip -q [파일명]

디렉터리 권한 부여

chown -R apache.apache wordpress

#이름 링크
ln -s wordpress wp

wp-config-sample.php -> 샘플파일 변경
wp-config.php

 

 

 

 

'Linux' 카테고리의 다른 글

[Linux] 메일 서버 구성  (0) 2025.02.19
[Linux] NFS,Samba,웹 클라우드 실습 문제  (0) 2025.02.14
[Linux] SAMBA 서버 구성  (0) 2025.02.10
[Linux] Quota 설정  (1) 2025.02.05
[Linux] BaseOS를 이용한 웹 서버 구축  (2) 2025.02.05
'Linux' 카테고리의 다른 글
  • [Linux] 메일 서버 구성
  • [Linux] NFS,Samba,웹 클라우드 실습 문제
  • [Linux] SAMBA 서버 구성
  • [Linux] Quota 설정
cumo
cumo
  • cumo
    이것저것
    cumo
  • 전체
    오늘
    어제
    • 분류 전체보기 (103)
      • 이것저것 (1)
      • 보안뉴스 (14)
      • Project (9)
      • wargame (1)
      • Cloud (7)
      • DevOps (11)
      • Linux (20)
      • 네트워크 (23)
      • AWS Developer BootCamp (3)
  • 블로그 메뉴

    • 홈
    • 태그
    • 방명록
  • 링크

    • 도구모음 사이트
    • 참고 기술 블로그
  • 공지사항

  • 인기 글

  • 태그

    1
  • 최근 댓글

  • 최근 글

  • hELLO· Designed By정상우.v4.10.3
cumo
[linux]Web server 구축

개인정보

  • 티스토리 홈
  • 포럼
  • 로그인
상단으로

티스토리툴바

단축키

내 블로그

내 블로그 - 관리자 홈 전환
Q
Q
새 글 쓰기
W
W

블로그 게시글

글 수정 (권한 있는 경우)
E
E
댓글 영역으로 이동
C
C

모든 영역

이 페이지의 URL 복사
S
S
맨 위로 이동
T
T
티스토리 홈 이동
H
H
단축키 안내
Shift + /
⇧ + /

* 단축키는 한글/영문 대소문자로 이용 가능하며, 티스토리 기본 도메인에서만 동작합니다.