Nginx 간명 한 튜 토리 얼
Nginx 홈 페이지 의 정 의 는 다음 과 같 습 니 다.
nginx [engine x] is an HTTP and reverse proxy server, a mail proxy server, and a generic TCP/UDP proxy server
왜 Nginx 야?
Nginx 를 제외 하고 웹 서버 의 맏형 은 Apache HTTP Server (httpd, 이하 Apache) 일 것 이다. Apache 는 Nginx 와 함께 인터넷 에서 50% 가 넘 는 데 이 터 를 지탱 했다.
근 데 왜 우리 가 Nginx 를 중점적으로 소개 해 야 되 지?
Nginx 아파 치 의 장점
nginx 설정 을 검증 하기 위해 간단 한 서버 프로그램 을 썼 습 니 다. 완 성 된 Demo 코드 는 이곳 의 StudyNginx 를 참고 할 수 있 습 니 다.
/ Welcome to Express
/users users
/proxy proxy
/proxy/users proxy/users
역방향 에이전트
역방향 에이 전 트 는 Nginx 에서 가장 자주 사용 하 는 기능 중 하나 입 니 다. 설정 은 다음 과 같 습 니 다.
server {
location / {
proxy_pass http://127.0.0.1:3000;
}
}
집행 하 다.
sudo service nginx restart
nginx 를 다시 시작 하면 서버 ip 로 각 url 에 접근 하 는 효 과 는 다음 과 같 습 니 다.
server-ip/ Welcome to Express
server-ip/users users
server-ip/proxy proxy
server-ip/proxy/users proxy/users
질문
역방향 프 록 시 설정 중pass 시 url 뒤에 '/' 를 넣 는 지 안 넣 는 지 차이 가 있 습 니까?저희 가 실제로 효 과 를 볼 게 요.
server {
location / {
}
location /proxy/ {
proxy_pass http://127.0.0.1:3000;
}
}
nginx 를 다시 시작 하면 서버 ip 로 각 url 에 접근 하 는 효 과 는 다음 과 같 습 니 다.
server-ip/ Welcome to Nginx
server {
location / {
}
location /proxy/ {
proxy_pass http://127.0.0.1:3000/;
}
}
nginx 를 다시 시작 하면 서버 ip 로 각 url 에 접근 하 는 효 과 는 다음 과 같 습 니 다.
server-ip/ Welcome to Nginx
위의 예 에서 볼 수 있다
하면, 만약, 만약...pass 의 url 에 "/" 를 추가 하면 역방향 대 리 는 location 부분 을 제거 합 니 다.
부하 균형
서버 의 압력 이 갈수 록 커지 면 여러 대의 서버 로 서 비 스 를 제공 하 는 것 을 고려 해 야 한다. 그러면 Nginx 는 부하 균형 서버 로 변신 할 수 있다.
설정 방법 은 다음 과 같 습 니 다.
upstream server-name {
server server-ip-01;
server server-ip-02;
}
server{
server_name server-name;
location / {
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
}
}
부하 균형 은 여러 대의 설비 가 필요 하기 때문에 인 스 턴 스 를 제공 하지 않 았 다.
페이지 캐 시
페이지 캐 시 를 여 는 방식 은 ngix. conf 에 다음 과 같이 추가 하 는 것 입 니 다.
proxy_cache_path /data/nginx/cache levels=1:2 keys_zone=STATIC:200m inactive=24h max_size=1g;
그 중에서 설명해 야 할 것 은 키스zone 옵션
keys_zone=STATIC:200m, zone STATIC, 200MB
이 어 server 에서 이 캐 시 를 사용 합 니 다.
server {
proxy_cache STATIC;
proxy_cache_key $host$uri$is_args$args;
proxy_cache_valid 200 304 10m;
}
이렇게 해서 우리 페이지 캐 시 가 열 립 니 다.
인증 설정
역방향 프 록 시, 부하 균형, 페이지 캐 시 설정 은 간단 하지만 모두 텍스트 이기 때문에 맞 춤 법 오류 가 발생 할 수 있 습 니 다. Nginx 설정 이 효과 적 인지 검증 할 수 있 는 방법 이 있 습 니까?
사용 한 명령 과 출력 은 다음 과 같 습 니 다.
~ sudo nginx -t
nginx: the configuration file /etc/nginx/nginx.conf syntax is ok
nginx: configuration file /etc/nginx/nginx.conf test is successful
Nginx 명령 을 더 알 고 싶 으 면 매 뉴 얼 'man nginx' 를 볼 수 있 습 니 다.
작은 매듭
위의 소 개 를 통 해 알 수 있 듯 이 Nginx 는 매우 작고 강하 다.
물론 URL 재 작성 및 읽 기와 쓰기 분리 등 기능 은 언급 되 지 않 았 습 니 다. 더 많은 토론 은 실제 개발 에서 모색 한 후에 여러분 과 계속 토론 하고 공유 합 니 다.
레 퍼 런 스
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
다양한 언어의 JSONJSON은 Javascript 표기법을 사용하여 데이터 구조를 레이아웃하는 데이터 형식입니다. 그러나 Javascript가 코드에서 이러한 구조를 나타낼 수 있는 유일한 언어는 아닙니다. 저는 일반적으로 '객체'{}...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.