본문 바로가기

서버인프라/엔진엑스12

Nginx location 구분 이번에는 Nginx에서 location구분 하여 페이지를 생성 하도록 하겠습니다. 아래와 같이 nginx 구무에서 location 밖에 있는 root 를 아래와 같이 설정 합니다. 해당 디렉토리는 아래와 같이 구성되어 있습니다. /data/maintenance \_fun-errorpages \_images 그리고 mc.empathize.com/images/ 아래 어떤 것들을 불러올때는 location /images/ {}블록 설정 root에서 값을 찾아 옵니다. server { listen 80; server_name mc.empathize.com; access_log /var/log/nginx/v-access.log; error_log /var/log/nginx/v-error.log; # deny al.. 2023. 3. 14.
Nginx 503 처리방법 오늘은 nginx 에서 503 error에 대한 처리 방법에 대해 알아 보겠습니다. HTTP 503 오류는 일반적으로 다음과 같은 상황에서 발생합니다. 서버 부하가 많을 때 유지 보수를 위한 서버 다운 시간일 때 서버 장애 발생 시 저는 오늘 유지보수를 위한 서버 다운 시간을 가정하에 내용을 작성하고자 합니다. [ config 해설 ] 1. geo 모듈에 $dev_ip 변수를를 설정하여 myipaddress부분에 자신의 아이피를 설정 합니다. 2. if 문에 $dev_ip 를 비교 조건으로 하여 1설정 되어 있으면, break 로 빠저나가 location / { } 블록을 만나게 합니다. 1로 설정해야 할 ip는 개발자나, 엔지니어 사이트 관리자의 IP가 될 것입니다. 3. if (-f) 는 위 조건에 .. 2023. 3. 13.
NGINX more_set_headers를 설치 more_set_headers 1.18 설치 apt install nginx-extras nginx.conf 에 들아가서 추가 more_set_headers "Server: em9"; 위와 같이 설정하여 server 명이 nginx가 아닌 다른 name을 가질 수 있다. 2022. 11. 30.
[GeoIP 모듈] Nginx Geo IP 모듈 설치 최대한 간단하게 설치해서 최대한 적절히 사용해 봅시다. geoip 모듈 설치 apt install libnginx-mod-http-geoip 사용 법은 아래 링크 확인하시기 바랍니다. https://nginx.org/en/docs/http/ngx_http_geoip_module.html Module ngx_http_geoip_module Module ngx_http_geoip_module The ngx_http_geoip_module module (0.8.6+) creates variables with values depending on the client IP address, using the precompiled MaxMind databases. When using the databases with .. 2022. 11. 17.
사설 ssl인증서 적용 테스트 서버에서 주로 많이 사용 되게 됩니다. ssl을 만들어서 nginx 에 적용 하는거 까지 한번 해보려 합니다. 아래와 같이 개인키 이름과 인증서 이름에 그냥 영문 명칭을 써주시면 됩니다. $ openssl req -new -newkey rsa:2048 -nodes -keyout 개인키이름.key -out 인증서이름.csr 이런식으로 사용해 주시면 될거 같아요 [root@t1 ~]# openssl req -new -newkey rsa:2048 -nodes -keyout test.key -out test.csr Generating a RSA private key ......................................+++++ ..+++++ writing new private key to.. 2022. 10. 17.
[ 제5강 캐싱 ] NGINX 콘텐츠 캐싱 응답 캐싱 활성화 캐싱을 사용하려면 proxy_cache_path 최상위 컨텍스트에 지시문을 포함하십시오. 필수 첫 번째 매개변수는 캐시 된 콘텐츠의 로컬 파일 시스템 경로이고 필수 매개변수는 캐시 된 상목에 대한 메타 데이터를 저장하는 사용되는 공유 메모리 영역의 이름과 크기를 정의 합니다. http { ... proxy_cache_path /data/nginx/cache keys_zone=one:10m; } 그런다음 proxy_cache 서버 응답을 캐시 할 컨텍스트에 지시문 keys_zone 을 포함하고 proxy_cache_path 지시문에 대한 매개 변수로 정의 된 영역 이름을 지정합니다. http { ... proxy_cache_path /data/nginx/cache keys_zone=one.. 2021. 1. 22.
[ 제4강 TCP&UDP부하 분산 ] NGINX 로드 벨런서 TCP & UDP 부하분산을 위한 전제조건 NGINX 오픈소스 --with-stream 활성 TCP 또는UDP를 통해 통신하는 애플리케이션 데이터베이스 또는 서비스 역방향 프록시 구성 1. 최상위 stream {} 블록 만들기 stream { } 2. server {} 최상위 stream {} 각 가상 서버에 대해 하나 이상의 구성 블록을 정의 합니다. 3. server {} 각 서버의 구성 블록 내에 서버가 수신 listen 하는 IP 주소 및 / 또는 포트를 정의하는 지시문을 포함 합니다. UDP 트래픽의 경우 udp 매개 변수도 포함 합니다., TCP 가 stream 컨텍스트의 기본 프로토콜 이므로 지시문에 대한 tcp 매개 변수가 없습니다. stream { server { listen 12345;.. 2021. 1. 22.
[ 제3강 서버 가중치 ] NGINX 로드 벨런서 기본적으로 NGINX는 R-R 방법을 사용하여 가중치에 따라 그룹의 서버간에 요청을 분산합니다. weight매개변수 server는 서버 가중치를 설정합니다. 기본값은 1 다음과 같습니다. upstream backend { server backend1.example.com weight=5; server backend2.example.com; server 127.0.0.1 backup; } backend1.example.com 에는 가중치 5가 있습니다. 다른 두 서버는 가중치 1로 (default) 로 설정되지만, backup 서버는 두 서버를 모두 사용 할 수 없는 경우가 아니면 요청을 수신하지 않습니다. backend1.example.com에 5번의 요청을 가하고, 6번째는 backend2.exampl.. 2021. 1. 20.
[ 제2강 균형조정 ] NGINX 로드 벨런서 로드 균형 조정 방법 선택 NGINX 오픈소스는 4가지 로드 밸런싱 방법을 지원 합니다. 1. 라운드 로빈 : 요청이 서버 가중치를 고려하여 서버 전체에 균등하게 분산됩니다. ( 활성화 하기 위한 지시문 없음 ) upstream backend { server backend1.example.com; server backend2.example.com; } 2. 최소연결 : 서버 가중치를 고려하여 활성 연결 수가 가장 적은 서버로 요청이 전송됩니다. upstream backend { least_conn; server backend1.example.com; server backend2.example.com; } 3. IP해시 : 요청이 전송되는 서버는 클라이언트 IP주소에서 결정됩니다. 이 경우 IPv4 주소의.. 2021. 1. 20.
엔진엑스 이야기 NGINX에 관하여 NGINX Unit은 Unix 계열 시스템 에서 사용할 수 있는 다중 언어 앱 서버, 역방향 프록시 및 정적 파일 서버 입니다. nginx 팀 구성원이 처음부터 매우 효율적이고 런타임에 완전히 구성 할 수 있도록 빌드했습니다 . 최신 버전은 2020 년 11 월 19 일에 릴리스 된 1.21.0입니다. 여기 에서 변경 로그를 참조 하십시오 . GitHub 기반 로드맵 은 향후 계획을 설명합니다. 소스는 Apache 2.0 라이선스에 따라 배포됩니다 . NGINX, Inc 에서 상업적 지원을받을 수 있습니다 . NGINX 주요 특징 적응성 전체 구성 은 사용자 친화적 인 RESTful JSON API 를 통해 HTTP를 통해 동적으로 관리 됩니다. 구성 업데이트는 중단없이 런타임에 세부.. 2021. 1. 20.
[ 제1강 HTTP 부하분산 ] NGINX 로드 벨런서 HTTP 트래픽을 서버 그룹에 프록시 NGINX Plus 또는 NGINX Open Source 를 사용하여 HTTP 트래픽 서버 그룹으로 로드 균형을 조정하려면 먼저 upstream 지시문을 사용하여 그룹을 정의 하여야 합니다. 쉽게 upstream 지시문을 사용하여 그룹을 정의하고 사용하면 된다. 라고 생각하면 됩니다. 그러면, upstream 지시문을 어떻게 생성하냐???? 아래와 같이!! http 블록안에 upstream 블록을 생성 합니다. http { upstream backend { server backend1.example.com; server backend2.example.com; server 127.0.0.1 backup; } } 그리고, 위 그룹의 요청을 전달 하려면 proxy_pass.. 2021. 1. 20.
NGINX 설치 설치 전제 조건 CentOS 8 Ubuntu 20.04 CentOS 8 1. yum저장소 설정 /etc/yum.repos.d/nginx.repo 생성 sudo yum install yum-utils [unit] name=unit repo baseurl=https://packages.nginx.org/unit/centos/$releasever/$basearch/ gpgcheck=0 enabled=1 2. 코어 패키지 및 필요한 기타 패키지를 설치하십시오. sudo yum-config-manager --enable nginx-mainline sudo yum install nginx 3. 서비스 시작 systemctl start nginx Ubuntu 20.04 1. 필수 구성요소 설치 sudo apt ins.. 2021. 1. 19.