첫째, 정적 및 동적 박리
도 1은 미들웨어를 통해 동적 및 정적 요청은 요청을 분리한다.
2, 왜?
고립 된 자원은 요청의 불필요한 소비, 지연을 줄이기 위해 요청을 줄일 수 있습니다.
3 장면
동적 요청을 처리 등 PHP로 FastCGI 파이썬을 이용할 수있다
![](https://images.cnblogs.com/OutliningIndicators/ContractedBlock.gif)
#pass FastCGI를 서버에 PHP 스크립트에 듣고 127.0 . 0.1 : 9000 위치 ~ \ .PHP의 $ { 루트 HTML; fastcgi_pass 127.0 . 0.1 : 9000 ; fastcgi_index의 index.php를; fastcgi_param SCRIPT_FILENAME / 스크립트 $ fastcgi_script_name; fastcgi_params을 포함한다; }
![](https://images.cnblogs.com/OutliningIndicators/ContractedBlock.gif)
[루트 @ 웹-01 ~] # 고양이 ngixn.conf 사용자의 nginx를; 자동 worker_processes; 의 error_log /var/log/nginx/error.log; PID는 /run/nginx.pid; /usr/share/nginx/modules/*.conf을 포함한다; 이벤트 { worker_connections 1024; } HTTP { 주 log_format '$ REMOTE_ADDR - $의 REMOTE_USER [$ time_local] "$ 요청' ' '$ 상태 $의 body_bytes_sent"$ HTTP_REFERER '' ' "$ HTTP_USER_AGENT" "$ HTTP_X_FORWARDED_FOR"'; 은 / etc / nginx를 / MIME을 포함한다. 유형; default_type 애플리케이션 / 옥텟 스트림; /etc/nginx/conf.d/cp4/*.conf를 포함한다; }
서버의 conf의 구성
[루트 @ 웹-01 ~]은 # 고양이 test_mysite.conf 업스트림 java_api { 서버 127.0.0.1:8080를; } 서버 { 80을 듣고; 서버 _ web01.fadewalk.com, ACCESS_LOG /var/log/nginx/host.access.log 주요; 루트 / 옵션 / 응용 프로그램 / 코드 / CP4 / 코드, 위치 ~ \ .jsp로 $ { proxy_pass에 http : // java_api; 인덱스있는 index.html index.htm으로; } . 위치는 ~ \ (JPG | PNG | GIF) $는 { 1 시간 만료; 에 gzip을; } }
톰캣 배포 JSP 페이지
![](https://images.cnblogs.com/OutliningIndicators/ContractedBlock.gif)
# 톰캣 버전 [루트 01 웹 ROOT @] 서버 버전 : / 7.0.76 아파치 톰캣 서버가 내장 : 2019년 3월 12일 세계 협정시 10시 11분 36초의 서버 번호 : 7.0.76.0 OS 이름 : 리눅스 OS 버전 : 3.10.0-957.21 .2.el7.x86_64 아키텍처 : AMD64 는 JVM 버전 : 1.8.0_212-B04 JVM을 공급 업체 : 오라클 공사 는 / usr / 보고서에이 내용 공유 / 톰캣 / 웹 어플리케이션 [루트 @ 웹-01 ~] # cd를 [루트 @ 웹 - 웹 어플리케이션 01] # 에서 mkdir ROOT [루트 @ 웹-01 웹 어플리케이션] #에서 cd ROOT / [루트 @ 웹-01 ROOT] # PWD 는 / usr /보고이 내용 공유 / 톰캣 / 웹 어플리케이션 / ROOT 번호는 / usr /보고이 콘텐츠 공유 / 톰캣 / 모든 페이지의 webapps 디렉토리, 아니 루트 디렉토리 기본 웹 페이지 디렉토리와 같은 자신의 새로운 루트 디렉토리를 필요로 할 때, 프로젝트 디렉토리는 해당 구성 대문자로해야 # LL [01 웹 ROOT @ 루트] 총 4 -rw-R - r-- 사용. 1 개 루트 루트 343 6월 17일 2시 14분 java_test.jsp
액세스 페이지
![](https://images.cnblogs.com/OutliningIndicators/ContractedBlock.gif)
< HTML LANG = "EN" > < 선두 > < 메타 캐릭터 = "UTF-8" /> < 타이틀 >测试AJAX和跨域访问</ 타이틀 > < 스크립트 SRC = "http://libs.baidu.com/ JQuery와 / 2.1.4 / jquery.min.js " > </ 스크립트 > </ 머리 > < 스크립트 유형 = "텍스트 / 자바 스크립트 " > $ (문서) .ready (함수 () { $ 아약스 ({ 유형" 도망", URL : "http://jeson.t.imooc.io/java_test.jsp" 성공 : 기능 (데이터) { . $ ( "#의 get_data") HTML (데이터) }, 오류 : 함수 () { 경고 ( " 실패!,请刷新再试")! } }); }); </ 스크립트 > < 본문 > < H1 >测试动静分离</ H1 > < IMG SRC = "http://jeson.t.imooc.io/img/nginx.png" /> < DIV 이드 = "get_data" > < DIV > </ HTML >
동적 페이지 요청을 처리
![](https://images.cnblogs.com/OutliningIndicators/ContractedBlock.gif)
<% @ 페이지 언어 = "자바"수입 = "java.util의. *"pageEncoding = "UTF-8"%> < HTML > < HEAD > < TITLE > JSP 테스트 페이지 </ TITLE > </ HEAD > < BODY > <% 랜덤 랜드 = 새로운 랜덤 (); out.println ( " < H1 > 난수 : </ H1 > "); out.println (rand.nextInt (99) +100); %> </ BODY > </ HTML >
테스트