Nginx 설치 및 FastDFS 환경 설정 (Alibaba Cloud)
이전 글에서는 FastDFS 서버 설치와 환경 설정을 진행했습니다. 이제 Nginx 설치 방법을 알아보겠습니다.
1. Nginx 설치를 위한 필수 패키지 설치
Nginx를 설치하기 전에 필요한 의존성 패키지들을 먼저 설치합니다.
1.1 gcc-c++ 설치 (이미 설치된 경우 생략 가능)
yum install gcc-c++
설치 중 "y/N" 선택이 나타나면 'y'를 입력합니다.
1.2 PCRE (Perl Compatible R ...
6월 22일 17:12에 게시됨
고유량 상황에서의 Nginx 성능 최적화 및 병목 현상 해결 방안
Nginx 의 잠재력을 극대화하는 운영 전략
Nginx 는 업계 표준처럼 자리 잡은 고성능 웹 서버입니다. 그러나 프로덕션 환경에서 트래픽이 증가하자마자 시스템이 마비되거나 SSH 접속 자체가 불가능해지는 경험을 한 개발자라면 드물지 않습니다. 이는 종종 서버 교체나 Envoy 와 같은 대안 도입을 고려하게 만들지만, 대부분의 경우 문제는 소프트웨어 자체보다 설정값의 ...
6월 22일 03:10에 게시됨
Ubuntu에서 Keepalived와 Nginx를 활용한 고가용성 구성 - Keepalived 설정
1. 시스템 환경
Ubuntu 22.04 운영체제에 Keepalived 버전 2.2.4를 설치하며, 미리 구성된 Nginx 로드 밸런싱 클러스터 및 애플리케이션 서비스 클러스터를 기반으로 합니다. 이전 단계에서 이미 클러스터가 구축되어 있다면 해당 서버들 위에 Keepalived만 추가로 설치하면 됩니다. 관련 배포 가이드는 다음 링크를 참고하세요: 링크.
사용할 두 대의 서버 정보:
10.53.2 ...
6월 21일 22:11에 게시됨
Nginx를 이용한 부하 분산 클러스터 구축
(1). 환경 설정
서버1 192.168.5.101 부하 분산기
서버2 192.168.5.102 서비스 노드 1
서버3 192.168.5.103 서비스 노드 2
(2). Nginx 부하 분산 전략
Nginx는 upstream 블록에서 정의된 서버 리스트로부터 요청을 처리할 서버를 선택합니다. 기본적인 upstream 구성은 다음과 같습니다:
upstream [서버그룹이름]{
server [IP주소]:[포트번호];
server [IP주소]:[ ...
6월 21일 02:54에 게시됨
Nginx를 사용한 비디오 스트리밍 서버 구축 및 Vue.js에서 재생하기
Docker를 활용한 Nginx 단일 노드 배포
1. CentOS에서 Docker 설치
Docker가 시스템에 설치되어 있지 않은 경우, 먼저 Docker 엔진을 설치해야 한다. 공식 문서나 관련 가이드를 참고하여 CentOS 환경에 Docker를 구축한다.
2. Nginx 이미지 다운로드
Docker Hub에서 최신 버전의 Nginx 이미지를Pull한다:
docker pull nginx
3. 디렉토리 구조 생성
Nginx 컨테이너 ...
6월 19일 00:29에 게시됨
웹 서버: Nginx - 고성능 비동기 웹 서버의 원리와 활용
Nginx 소개
동기와 비동기:
동기와 비동기의 차이점은 메시지 알림 방식에 있습니다. 즉, 호출 결과 알림 방식이 다릅니다.
동기: 동기 호출이 발생하면 호출자는 호출 결과 알림을 받을 때까지 후속 작업을 수행할 수 없습니다.
비동기: 비동기 호출이 발생하면 호출자는 호출 결과가 반환될 때까지 계속 기다릴 필요가 없습니다. 비동기 호출로 결과를 얻는 방법은 일반 ...
6월 17일 02:02에 게시됨
Linux 환경에서 Nginx와 PHP의 일반적 설정
시나리오 설정
하나의 서버에 두 개의 독립적인 프로젝트(웹사이트) site1과 site2가 있다고 가정해 봅시다. 서버에서는 Nginx를 HTTP 서버로 사용하고 PHP로 동적 콘텐츠를 처리합니다.
Nginx 설정
Nginx의 기본 설정 파일은 /etc/nginx/nginx.conf에 위치하며, include 지시어를 사용하여 여러 특정 설정을 가져와 각 프로젝트를 관리할 수 있습니다. include의 기본 ...
6월 14일 01:58에 게시됨
OpenResty에서의 Lua 템플릿 렌더링 기법
템플릿 기반 동적 페이지 생성
웹 애플리케이션 개발에서 동적 컨텐츠 생성은 핵심 요소입니다. 예를 들어, 상품 정보 페이지처럼 복잡한 데이터 구조를 포함하는 시나리오에서는 템플릿 엔진이 필수적입니다. OpenResty 환경에서는 lua-resty-template라는 고성능 템플릿 엔진을 활용할 수 있으며, 이는 LuaJIT과 함께 사용 시 매우 빠른 렌더링 성능을 제공합니다.
이 ...
6월 13일 16:50에 게시됨
nginx ip-hash 로드 밸런싱 불균형 원인 및 해결 방법
ip-hash 알고리즘의 동작 방식
nginx의 ip-hash 기반 로드 밸런싱은 요청의 클라이언트 IP 주소를 기반으로 후방 서버에 요청을 분산합니다. 내부적으로는 다음과 같은 해시 계산을 수행합니다:
for (;;) {
for (i = 0; i < 3; i++) {
hash = (hash * 113 + ip_addr[i]) % 6271;
}
p = hash % peers_count;
n = p / (8 * sizeof(uintptr_t)); ...
6월 12일 23:41에 게시됨
Nginx와 Lua를 활용한 맞춤형 WAF 구현
Nginx와 Lua를 활용한 맞춤형 WAF 구현
기능 목록
IP 화이트리스트와 블랙리스트 기능 지원, 블랙리스트에 등록된 IP 접근 차단
URL 화이트리스트 지원, 필터링이 필요 없는 URL 정의
User-Agent 필터링, 사용자 정의 규칙과 일치하는 항목 처리 후 403 반환
CC 공격 방어, 특정 URL에 대한 시간당 접근 횟수 제한 초과 시 403 반환
쿠키 필터링, 사 ...
6월 12일 16:11에 게시됨