1) 물론 사용하려는 소프트웨어를 다운로드해야 합니다. 다음 단계를 보려면 nginx 공식 웹사이트로 이동하세요. http://nginx.org/en/download.html은 여기에서 찾을 수 있습니다. 현재 제가 사용하고 있는 버전은 1.1.7 이지만 기본적으로 향후 버전은 모두 호환이 가능하고, 저희가 사용하고 있는 버전도 너무 저급한 부분은 포함하지 않으므로 변경사항은 없을 것입니다. 여기서는 Windows이므로 당연히 Windows 버전을 다운로드합니다. 다운로드한 후 먼저 시작해야 합니다. nginx 폴더에 들어가서 nginx를 직접 시작하세요. 예를 들어 다운로드 후 d:softwaredevelopertoolsservernginx-1.1.7에 넣고, 직접 cmd한 다음 cd d:softwaredevelopertoolsservernginx-1.1.7로 들어가는데, 명령줄에 익숙하지 않은 분들은 안 가서 놀라실 수도 있어요. 그 폴더. Windows는 사용자가 직접 지정하지 않는 한 파티션 사이를 이동하지 않습니다. 따라서 우리는 다음과 같이 직접 d:
그런 다음 nginx를 직접 시작합니다. 여기에서 Tomcat 사용 경험에 따르면 깜박이는 창이 나타날 수 있습니다. 오류죠. 그렇죠? 하지만 그렇지 않습니다.
이때 작업 관리자를 열면 두 개의 nginx.exe가 보입니다. 이는 우리가 이미 시작했음을 보여줍니다. 그 이유에 대해서는 여기서는 자세히 다루지 않겠습니다.
이제 nginx를 시작했으므로 tomcat을 시작할 수 있습니다. http://localhost에 액세스하여 tomcat에 직접 액세스하는 것을 생각해 보세요. 걱정하지 마세요. 시작한 후 nginx가 어떤 모습인지 살펴보겠습니다. http://localhost에 직접 액세스하면 다음을 볼 수 있습니다.
nginx가 성공적으로 시작된 것을 볼 수 있으며 이제 nginx 디렉토리에 직접 액세스할 수 있습니다. 그렇다면 실제로는 어디에 구성되어 있습니까? 여기에는 nginx의 중요한 구성 파일인 nginx.conf가 포함됩니다.
2) nginx 폴더에 여러 파일이 포함된 conf 폴더가 있음을 알 수 있습니다. 다른 파일과 관계없이 nginx.conf를 열면 다음 섹션이 표시됩니다.
이 코드는 server 는 프록시 서버와 동일하며 물론 여러 서버를 구성할 수 있습니다. 주의 깊게 분석해 보겠습니다. 수신: 현재 프록시 서버가 수신하는 포트를 나타냅니다. 기본값은 포트 80을 수신하는 것입니다. 여러 서버를 구성하는 경우 리스너를 다르게 구성해야 합니다. 그렇지 않으면 어디로 이동할지 결정할 수 없습니다. server_name: 청취 후 갈 곳을 나타냅니다. 이때는 nginx 폴더로 바로 이동합니다. location: 일치하는 경로를 나타냅니다. /가 구성되면 모든 요청이 여기에서 일치된다는 의미입니다. Root: 루트가 구성되면 이 요청의 경로가 일치하면 해당 파일이 이 폴더에서 발견된다는 의미입니다. .여기는 나중에 정적 파일을 제공하는 데 유용합니다. index: 홈 페이지가 지정되지 않은 경우 기본적으로 지정된 파일이 선택됩니다. 여러 개의 파일이 있을 수 있으며 첫 번째 파일이 없으면 두 번째 파일이 검색됩니다. 아래 error_page는 해당 오류를 나타내는 페이지이므로 여기서는 당분간 사용하지 않을 예정입니다.
그런 다음 구체적인 구성과 localhost에 액세스할 때 tomcat으로 전환하는 방법을 알아냈습니다. 실제로 두 곳만 수정되었습니다.
server_name localhost:8080; location / { proxy_pass http://localhost:8080}
위의 두 곳을 수정했습니다. 내 Tomcat은 포트 8080에 있습니다. 필요에 따라 수정할 수 있습니다. 여기에는 이전에 지정해야 하는 루트와 달리 전달과 동일한 프록시 경로를 나타내는 새로운 요소인 Proxy_pass가 있습니다. 이제 파일을 수정했으니 nginx를 종료했다가 다시 시작해야 한다는 뜻인가요? 실제로 그럴 필요는 없습니다. nginx가 파일을 다시 로드할 수 있습니다. 직접 실행했습니다: nginx -s reload
너무 일찍 오류를 발견했습니다:
무엇에서 오류가 발견되었나요? 해당 라인}을 자세히 살펴보니 우리가 추가한 Proxy_pass가 매우 이상합니다. ";"로 끝나지 않는 문제입니다. 직접 수정한 후 다시 실행해 보니 오류가 없습니다. 괜찮아. 직접 로드하고 싶지 않고 구성 파일에 문제가 있는지 확인하고 싶다면 nginx -t
이렇게 하면 구성 파일에 오류가 있는지 확인할 수 있습니다. 아래의 모든 수정 사항은 수정이 완료된 후 구성 파일을 다시 로드하기 위해 nginx -s reload를 실행한다고 가정합니다.
모든 것이 정상입니다. 그런 다음 http://localhost를 다시 열면 다음 페이지가 표시됩니다.
这时,我们发现它并不是刚才的welcome页面了,而是tomcat的管理页面了,不管我们点击什么链接都是没问题的,相当于直接访问http://localhost:8080一样。
3)上面我们直接试了一个小例子,让nginx进行转发,即所谓的反向代理。但实际上我们的需求不会是这样的,我们需要分文件类型来进行过滤,比如jsp直接给tomcat处理,因为nginx并不是servlet容器,没办法处理jsp,而html,js,css这些不需要处理的,直接给nginx进行缓存。下面我们来进行一下配置,让jsp页面直接给tomcat,而html,png等一些图片和js等直接给nginx进行缓存。这时最主要用的还是location这个元素,并且涉及到一部分正则,但不难:
location ~ .jsp$ { proxy_pass http://localhost:8080;} location ~ .(html|js|css|png|gif)$ { root d:/software/developertools/server/apache-tomcat-7.0.8/webapps/root;} location ~ .jsp$ { proxy_pass http://localhost:8080;} location ~ .(html|js|css|png|gif)$ { root d:/software/developertools/server/apache-tomcat-7.0.8/webapps/root;}
我们先要去掉之前配的location /,避免全部请求被拦截了。然后我们再来看看http://localhost
当我们不指定jsp页面的时候,它会出现找不到,因为,此时并没有相应的location匹配,所以就会有404错误,这时就跳到了nginx自定义的error页面去了。而当我们用http://localhost/index.jsp去访问时,我们看到了熟悉的页面:
而且图片那些都显示正常,因为图片是png的,所以直接在tomcat/webapps/root目录下直接查找,当然,如果我们点击manager application how-to这个链接,我们发现:
它还是找不到,为什么呢?因为这是个html页面,但它并不在root目录下,而是在docs目录下,但当我们匹配html时,我们却到root目录下去找,所以还是找不到这个页面。
一般情况下,如果我们需要用nginx来进行静态文件伺服,一般都会把所有静态文件,html,htm,js,css等都放在同一个文件夹下,这样就不会有tomcat这样的情况了,因为tomcat下的是属于不同的项目,这个我们就没办法了。
3)有些人会说,这些都只会找一台服务器,但如果我们想在一台服务器挂了的时候,自动去找另外一台,这怎么办?这实际上nginx都考虑到了。这时,我们之前用的proxy_pass就有大用途了。我们把之前的第一个例子,即全部都代理的修改一下:最后修改如下:
upstream local_tomcat { server localhost:8080;} server{ location / { proxy_pass http://local_tomcat; } ##......其他省略 } upstream local_tomcat { server localhost:8080;} server{ location / { proxy_pass http://local_tomcat; } #......其他省略 }
我们在server外添加了一个upstream,而直接在proxy_pass里面直接用http://+upstream的名称来使用。我们还是直接来http://localhost,还是和第一个一样的效果,所有链接都没问题,说明我们配置正确。upstream中的server元素必须要注意,不能加http://,但proxy_pass中必须加。我们刚才说可以在一个服务器挂了的情况下连到另外一个,那怎么弄呢?其实很简单,在upstream中的local_tomcat中配置多一个server。比如我现在弄多一个jetty,端口在9999,所以我们配置如下:
upstream local_tomcat { server localhost:8080; server localhost:9999;} upstream local_tomcat { server localhost:8080; server localhost:9999;}
此时,我们关闭tomcat,而只开jetty。我们来运行http://localhost看看效果: 我们看到它请求到了jetty的页面,但由于jetty的机制,这时没有显示jetty主页,这个我们先不管。但我们的在一个服务器挂的情况下自动使用另外一个的功能实现了。
但有时我们就不想它挂的时候访问另外一个,而只是希望一个服务器访问的机会比另外一个大,这个可以在server最后加上一个weight=数字来指定,数字越大,表明请求到的机会越大。
upstream local_tomcat { server localhost:8080 weight=1; server localhost:9999 weight=5;} upstream local_tomcat { server localhost:8080 weight=1; server localhost:9999 weight=5;}
这时我们给了jetty一个更高的权值,让它更有机会访问到,实际上当我们刷新http://localhost访问的时候发现jetty访问机率大很多,tomcat几乎没机会访问,一般情况下,如果我们必须这样用,不要相关太大,以免一个服务器负载太大。当然,server还有一些其他的元素,比如down表示暂时不用到该服务器等等。
위 내용은 Tomcat 서버의 역방향 프록시로 Nginx를 사용하는 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

NGINX는 이벤트 중심 아키텍처 및 비동기 처리 기능을 통해 성능을 향상시키고 모듈 식 설계 및 유연한 구성을 통해 확장 성을 향상 시키며 SSL/TLS 암호화 및 요청 속도 제한을 통해 보안을 향상시킵니다.

NGINX는 동시성이 높은 자원 소비 시나리오에 적합하지만 APACHE는 복잡한 구성 및 기능 확장이 필요한 시나리오에 적합합니다. 1.NGINX는 고성능과의 많은 동시 연결을 처리하는 것으로 알려져 있습니다. 2. Apache는 안정성과 풍부한 모듈 지원으로 유명합니다. 선택할 때는 특정 요구에 따라 결정해야합니다.

nginxissentialderformodernwebapplicationsduetoitsrolessareareverseproxy, loadbalancer 및 Webserver, HighperformanceAndscalability를 제공합니다

Nginx를 통해 웹 사이트 보안을 보장하려면 다음 단계가 필요합니다. 1. 기본 구성을 만들고 SSL 인증서 및 개인 키를 지정하십시오. 2. 구성 최적화, HTTP/2 및 OCSPStapling 활성화; 3. 인증서 경로 및 암호화 제품군 문제와 같은 공통 오류 디버그; 4. Let 'sencrypt 및 세션 멀티플렉싱 사용과 같은 응용 프로그램 성능 최적화 제안.

NGINX는 고성능 HTTP 및 리버스 프록시 서버로 높은 동시 연결을 처리하는 데 능숙합니다. 1) 기본 구성 : 포트를 듣고 정적 파일 서비스를 제공합니다. 2) 고급 구성 : 리버스 프록시 및로드 밸런싱을 구현하십시오. 3) 디버깅 기술 : 오류 로그를 확인하고 구성 파일을 테스트하십시오. 4) 성능 최적화 : GZIP 압축을 활성화하고 캐시 정책을 조정합니다.

Nginx 캐시는 다음 단계를 통해 웹 사이트 성능을 크게 향상시킬 수 있습니다. 1) 캐시 영역을 정의하고 캐시 경로를 설정하십시오. 2) 캐시 유효성 기간 구성; 3) 다른 컨텐츠에 따라 다른 캐시 정책을 설정합니다. 4) 캐시 저장 및로드 밸런싱을 최적화합니다. 5) 캐시 효과를 모니터링하고 디버그합니다. 이러한 방법을 통해 NGINX 캐시는 백엔드 서버 압력을 줄이고 응답 속도 및 사용자 경험을 향상시킬 수 있습니다.

dockercompose를 사용하면 Nginx의 배포 및 관리를 단순화 할 수 있으며 Dockerswarm 또는 Kubernetes를 통한 스케일링은 일반적인 관행입니다. 1) DockerCompose를 사용하여 Nginx 컨테이너를 정의하고 실행하십시오. 2) Dockerswarm 또는 Kubernetes를 통한 클러스터 관리 및 자동 스케일링 구현.

NGINX의 고급 구성은 서버 블록 및 리버스 프록시를 통해 구현 될 수 있습니다. 1. 서버 블록을 사용하면 여러 웹 사이트를 한쪽으로 실행할 수있게되면 각 블록은 독립적으로 구성됩니다. 2. 리버스 프록시는 요청을 백엔드 서버로 전달하여로드 밸런싱 및 캐시 가속도를 실현합니다.


핫 AI 도구

Undresser.AI Undress
사실적인 누드 사진을 만들기 위한 AI 기반 앱

AI Clothes Remover
사진에서 옷을 제거하는 온라인 AI 도구입니다.

Undress AI Tool
무료로 이미지를 벗다

Clothoff.io
AI 옷 제거제

AI Hentai Generator
AI Hentai를 무료로 생성하십시오.

인기 기사

뜨거운 도구

맨티스BT
Mantis는 제품 결함 추적을 돕기 위해 설계된 배포하기 쉬운 웹 기반 결함 추적 도구입니다. PHP, MySQL 및 웹 서버가 필요합니다. 데모 및 호스팅 서비스를 확인해 보세요.

MinGW - Windows용 미니멀리스트 GNU
이 프로젝트는 osdn.net/projects/mingw로 마이그레이션되는 중입니다. 계속해서 그곳에서 우리를 팔로우할 수 있습니다. MinGW: GCC(GNU Compiler Collection)의 기본 Windows 포트로, 기본 Windows 애플리케이션을 구축하기 위한 무료 배포 가능 가져오기 라이브러리 및 헤더 파일로 C99 기능을 지원하는 MSVC 런타임에 대한 확장이 포함되어 있습니다. 모든 MinGW 소프트웨어는 64비트 Windows 플랫폼에서 실행될 수 있습니다.

ZendStudio 13.5.1 맥
강력한 PHP 통합 개발 환경

에디트플러스 중국어 크랙 버전
작은 크기, 구문 강조, 코드 프롬프트 기능을 지원하지 않음

스튜디오 13.0.1 보내기
강력한 PHP 통합 개발 환경
