Nginx 전단 아파 치 백 엔 드 서버 설정

3002 단어
host2ez 호스트 는 nginx 를 사 용 했 지만 apache 를 완벽 하 게 호 환 할 수 있어 서 곤 혹 스 러 웠 습 니 다. 한 번 고생 한 후에 Nginx 가 전단 으로 정적 파일 을 처리 하면 아파 치 는 백 엔 드 서버 를 하면 되 고 대 가 는 불쌍 한 메모리 가 적 다 는 것 을 알 게 되 었 습 니 다.
기초 지식
1.1 역방향 에이전트 과정
Nginx 전단, Apache 백 엔 드 과정 은 간단 합 니 다. 먼저 사용자 가 80 포트 의 nginx 를 방문 한 다음 에 nginx 는 정적 내용 을 자신 에 게 남 겨 주 고 나머지 는 80 포트 가 아 닌 apache 에 게 전달 합 니 다. apache 처리 가 끝 난 후에 nginx 에 게 다시 전달 합 니 다.
1.2 Nginx location 기초
상세 한 것 은 을 보면 서로 다른 Location 위치 에 역방향 대 리 를 추가 하면 Nginx 전단 은 완전히 다른 역할 을 한다.
2. Nginx 프로필 편집
vim /usr/local/nginx/conf/nginx.conf

2.1 "proxy set header" 명령 추가
Nginx 프로필 을 편집 하고 "http" 필드 에 해당 코드 를 추가 하여 실제 IP 를 백 엔 드 로 보 냅 니 다.
vim /usr/local/nginx/conf/nginx.conf
#                 header   
proxy_set_header  Host $host;
#            IP
proxy_set_header  X-Real-IP $remote_addr;
#    php           IP
proxy_set_header  X-Forwarded-For $proxy_add_x_forwarded_for;

2.2 "proxy pass" 명령 추가
해당 'location' 필드 에 다음 과 같은 역방향 대리 문 구 를 추가 합 니 다. 이 부분 은 어 려 운 부분 이자 국내 튜 토리 얼 에 언급 되 지 않 은 부분 입 니 다.
방법 1:
모든 요청 을 백 엔 드 apache 에 전송 합 니 다. 그러나 '~ *' 우선 순위 가 '/' 보다 높 기 때문에 그림, JS, CSS 는 예외 이 고 'expires' 는 캐 시 시간 을 설정 하 는 데 사 용 됩 니 다.
location / {
    proxy_pass  http://127.0.0.1:8080;
}
location ~* \.(jpg|jpeg|gif|png)$ {
    access_log  off;
    expires  30d;
}
location ~* \.(js|css)$ {
    access_log  off;
    expires  1d;
}

방법 2:
. php 접미사 파일 만 백 엔 드 apache 에서 처리 합 니 다.
location ~ \.php$ {
    proxy_pass  http://127.0.0.1:8080;
}

2.3. 고급 옵션 추가 (선택)
\ # 백 엔 드 서버 연결 요청 시간 초과. 즉, 정 해진 시간 에 백 엔 드 는 프론트 악수 요청 에 응답 해 야 합 니 다. proxy connect timeout 30;
\ # 백 엔 드 서버 응답 시간 입 니 다. 연결 이 성공 하면 백 엔 드 에서 줄 을 서서 처리 할 수 없 는 시간 을 기다 리 는 것 입 니 다. proxy read timeout 60;
\ # 백 엔 드 데이터 전송 시간 입 니 다. 즉, 정 해진 시간 에 백 엔 드 서버 는 모든 데 이 터 를 전송 해 야 합 니 다. proxy send timeout 30;
\ # 백 엔 드 서버 에서 읽 은 헤더 정보의 버퍼 크기 입 니 다. proxy buffer size 4k;
\ # 백 엔 드 서버 에서 읽 은 헤더 정보의 버퍼 수 와 크기 proxy buffers 4 32k;
서버 가 바 쁘 면 신청 할 수 있 는 proxy buffers 크기 proxy busy buffers size 64k;
\ # 프 록 시 임시 파일 크기 proxy temp file write size 64k;
\ # 프 록 시 최대 캐 시 임시 파일 크기 proxy max temp file size 128 m;
3. 아파 치 설정 파일 편집 (선택)
메모: mod rpaf 모듈 은 설치 해 야 하 는 것 이 아 닙 니 다. 아파 치 로 그 를 열 어야 하 는 것 이 아니라면, Nginx 로그 가 있 기 때문에 아파 치 로 그 를 열 면 중복 되 는 것 이 아 닙 니 다.
Apache rpaf 모듈 은 Nginx 가 전송 한 실제 IP 를 가 져 오 는 역할 을 합 니 다. 그렇지 않 으 면 Apache 날 에 방문 한 IP 는 모두 127.0.0.1 입 니 다.
wget http://stderr.net/apache/rpaf/download/mod_rpaf-0.6.tar.gz
tar zxvf mod_rpaf-0.6.tar.gz
cd mod_rpaf-0.6
/usr/local/www/apache/bin/apxs -i -c -n mod_rpaf-2.0.so mod_rpaf-2.0.c
vim /usr/local/apache/conf/httpd.conf LoadModule rpaf_module modules/mod_rpaf-2.0.so
RPAFenable On
RPAFproxy_ips 127.0.0.1
RPAFsethostname On
RPAFheader X-Forwarded-For

좋은 웹페이지 즐겨찾기