Nginx의 주요 응용 시나리오
정적 웹 사이트 배포
nginx는 HTTP 프로토콜을 통해 서버에 있는 정적 파일(html, css, 그림)을 브라우저 클라이언트에 반환할 수 있는 http 웹 서버입니다.
예: 서버에 정적 리소스 index.html을 배포합니다
index.html을 Linux /opt/www/test
nginx.conf에 업로드하여 /test 요청을 차단할 위치를 추가합니다. , 루트에 해당하는 /opt/www 경로는 루트 경로를 나타냅니다. 즉, /test
location /test { root /opt/www; index index.html; }
앞의 /슬래시입니다. nginx를 시작하거나 nginx를 다시 로드
방문해 보세요: http://192.168.253.130/ test /
로드 밸런싱
로드 밸런싱은 하드웨어 로드 밸런싱과 소프트웨어 로드 밸런싱으로 나눌 수 있습니다
F5, Sangfor, Array 등 하드웨어 로드 밸런싱은 제조사에서 지원한다는 장점이 있습니다. 전문적인 팀이며 안정적인 성능을 가지고 있습니다. 단점은 가격이 비쌉니다.
Nginx, LVS, HAProxy 등과 같은 소프트웨어 로드 밸런싱은 무료이며 오픈 소스이며 비용이 저렴하다는 장점이 있습니다.
폴링 방법: 요청 할당 백엔드 서버를 차례로 순서대로 처리하며, 서버에 대한 실제 연결 수와 현재 시스템 로드에 관계없이 각 백엔드 서버를 균등하게 처리합니다.
http { upstream test{ ##后端实际服务器 nginx在轮询访问以下几台服务器 server 10.100.30.1:8080; server 10.100.30.2:8080; server 10.100.30.3:8080; server 10.100.30.4:8080; } server { ##前端拦截入口 listen 80; server_name www.test.com; location / { proxy_pass http://test; } } }
가중 폴링 방법: 백엔드 서버마다 시스템 구성과 현재 시스템 부하가 다를 수 있으므로 압력 저항도 다릅니다.
구성이 높고 로드가 낮은 시스템에 대해 더 높은 가중치를 구성하여 더 많은 요청을 처리할 수 있도록 하고, 구성이 낮고 로드가 높은 시스템에 더 낮은 가중치를 할당하여 시스템 로드를 줄일 수 있습니다. 백엔드를 순차적으로 처리하고 가중치를 부여합니다.
http { upstream test{ ##后端实际服务器 nginx在轮询访问以下几台服务器 server 10.100.30.1:8080 weight=1; server 10.100.30.2:8080 weight=3; server 10.100.30.3:8080 weight=1; server 10.100.30.4:8080 weight=1; } server { ##前端拦截入口 listen 80; server_name www.test.com; location / { proxy_pass http://test; } } }
소스 주소 해시 방식: 클라이언트의 IP 주소에 따라 해시 함수를 통해 값을 계산하고, 그 값을 사용하여 서버 목록의 크기를 모듈로화합니다. 결과는 해당 서버의 일련 번호입니다. 클라이언트가 액세스하려고 합니다.
로드 밸런싱을 위해 소스 주소 해시 방법을 사용하면 백엔드 서버 목록이 변경되지 않은 경우 동일한 IP 주소를 가진 클라이언트가 동일한 백엔드 서버에 매핑되어 매번 액세스할 수 있습니다.
upstream test{ ip_hash; server 10.100.30.1:8080 weight=1; server 10.100.30.2:8080 weight=3; server 10.100.30.3:8080 weight=1; server 10.100.30.4:8080 weight=1; }
최소 연결 수 방법: 백엔드 서버의 구성이 다르기 때문에 요청 처리가 더 빠르거나 느릴 수 있습니다. 최소 연결 수 방법은 현재 연결 백로그가 가장 작은 방법을 동적으로 선택합니다. 백엔드 서버의 현재 연결 상태 하나의 서버가 현재 요청을 처리하고 백엔드 서비스의 활용 효율성을 최대한 향상시키며 책임을 각 서버에 합리적으로 분산시킵니다.
upstream test{ least_conn; server 10.100.30.1:8080; server 10.100.30.2:8080; server 10.100.30.3:8080; server 10.100.30.4:8080; }
down: 특정 서비스 중지를 나타냅니다.
upstream test{ server 10.100.30.1:8080 down; server 10.100.30.2:8080; server 10.100.30.3:8080; server 10.100.30.4:8080; }
backup: 백업 서버를 지정합니다. 일반적인 상황에서는 다른 서버가 정상적으로 액세스할 수 있는 한 백업 서버에 액세스할 수 없습니다. 대기 서버를 사용하므로 일반적으로 핫 배포를 구현하는 데 사용됩니다. 먼저 대기 서버에 코드를 업데이트한 다음 일반 서버 배포가 완료되면 대기 서버가 대기 상태가 됩니다. 전체 배포 프로세스를 통해 사용자는 가동 중지 시간을 느낄 수 없습니다.
upstream test{ server 10.100.30.1:8080 backup; server 10.100.30.2:8080 backup; server 10.100.30.3:8080; server 10.100.30.4:8080; }
정적 프록시
정적 및 동적 분리
가상 호스트
Nginx 사용 시나리오 및 예
Nginx는 고성능, 동시성 HTTP 서버 및 역방향 프록시 서버는 정적 리소스 서버, 로드 밸런서, 역방향 프록시, 캐시 서버, 웹 서버 등 다양한 시나리오에서 사용할 수 있습니다.
다음은 몇 가지 사용 시나리오와 예입니다.
1. 정적 리소스 서버
Nginx를 정적 리소스 서버로 사용하는 경우 Nginx는 요청된 파일을 직접 반환하므로 웹 서버의 부담이 줄어듭니다. 이 시나리오는 일반적으로 정적 파일 다운로드 또는 비디오와 같은 대용량 파일에 대한 액세스를 제공하는 데 사용됩니다.
다음은 Nginx 구성의 예입니다.
server { listen 80; server_name example.com; location / { root /usr/share/nginx/html; index index.html index.htm; } location /images/ { alias /var/www/images/; } location /downloads/ { alias /var/www/downloads/; } }
위 구성에서 Nginx는 요청이 /images 아래에 있는 경우 루트 디렉터리(/)에 액세스하기 위한 요청을 /usr/share/nginx/html 디렉터리에 매핑합니다. / 디렉토리 파일, Nginx는 /var/www/images/ 디렉토리에 매핑됩니다. 요청된 파일이 /downloads/ 디렉토리에 있는 파일인 경우 Nginx는 /var/www/downloads/ 디렉토리에 매핑됩니다.
2. 역방향 프록시
Nginx를 역방향 프록시 서버로 사용하는 경우 Nginx는 처리를 위해 요청을 웹 서버로 전달한 다음 처리 결과를 클라이언트에 반환합니다.
이 시나리오는 일반적으로 로드 밸런싱 달성, 웹 서버 보안 강화, 웹 서버의 실제 IP 숨기기 등에 사용됩니다.
다음은 샘플 Nginx 구성입니다.
upstream backend { server backend1.example.com:8080 weight=3; server backend2.example.com:8080; } server { listen 80; server_name example.com; location / { proxy_pass http://backend; proxy_set_header Host $host; proxy_set_header X-Real-IP $remote_addr; } }
上述配置中,Nginx会将访问根目录(/)的请求转发给后端的Web服务器(backend1.example.com和backend2.example.com),其中backend1.example.com的权重为3,backend2.example.com的权重为1,表示backend1.example.com的处理能力更强。
在转发请求时,Nginx还会设置HTTP头信息中的Host和X-Real-IP字段,从而隐藏Web服务器的真实IP。
3.负载均衡器
在使用Nginx作为负载均衡器时,Nginx会将请求均衡地分发到多个Web服务器上,从而实现高并发、高可用的服务。这种场景通常用于Web应用程序的集群部署、分布式系统的部署等。下面是一个示例Nginx配置:
upstream backend { server backend1.example.com:8080; server backend2.example.com:8080; server backend3.example.com:8080; } server { listen 80; server_name example.com; location / { proxy_pass http://backend; proxy_set_header Host $host; proxy_set_header X-Real-IP $remote_addr; } }
上述配置中,Nginx会将请求均衡地分发到三个Web服务器(backend1.example.com、backend2.example.com和backend3.example.com)上,从而实现负载均衡。
在转发请求时,Nginx还会设置HTTP头信息中的Host和X-Real-IP字段,从而隐藏Web服务器的真实IP。
4.缓存服务器
在使用Nginx作为缓存服务器时,Nginx会缓存Web服务器返回的响应,从而减少对Web服务器的请求。这种场景通常用于提高Web应用程序的性能、降低Web服务器的负载等。下面是一个示例Nginx配置:
proxy_cache_path /var/cache/nginx levels=1:2 keys_zone=my_cache:10m inactive=60m; server { listen 80; server_name example.com; location / { proxy_cache my_cache; proxy_pass http://backend; proxy_set_header Host $host; proxy_set_header X-Real-IP $remote_addr; } }
上述配置中,Nginx会将Web服务器返回的响应缓存到/var/cache/nginx/my_cache目录下,并设置缓存有效期为60分钟。在缓存命中时,Nginx会直接返回缓存的响应,从而减少对Web服务器的请求。
总之,Nginx具有很强的可扩展性和灵活性,可以根据不同的需求配置不同的使用场景。以上仅是一些示例,实际应用中还有很多其他的使用场景。
5.反向代理服务器
在使用Nginx作为反向代理服务器时,Nginx会将客户端请求转发到后端的Web服务器上,并将后端服务器返回的响应转发给客户端。这种场景通常用于隐藏后端服务器的真实IP、提高Web应用程序的可用性等。下面是一个示例Nginx配置:
server { listen 80; server_name example.com; location / { proxy_pass http://backend; proxy_set_header Host $host; proxy_set_header X-Real-IP $remote_addr; } }
上述配置中,Nginx会将客户端请求转发到http://backend上,并设置HTTP头信息中的Host和X-Real-IP字段,从而隐藏后端服务器的真实IP。
6.WebSocket服务器
在使用Nginx作为WebSocket服务器时,Nginx会将客户端请求转发到后端的WebSocket服务器上,并实现WebSocket协议的连接管理。这种场景通常用于实时通信、游戏等应用程序。
下面是一个示例Nginx配置:
map $http_upgrade $connection_upgrade { default upgrade; '' close; } server { listen 80; server_name example.com; location / { proxy_pass http://backend; proxy_http_version 1.1; proxy_set_header Upgrade $http_upgrade; proxy_set_header Connection $connection_upgrade; proxy_set_header Host $host; proxy_set_header X-Real-IP $remote_addr; } }
上述配置中,Nginx会将WebSocket请求转发到http://backend上,并设置HTTP头信息中的Upgrade、Connection、Host和X-Real-IP字段,从而实现WebSocket协议的连接管理。
总之,Nginx具有很多的使用场景,可以根据不同的需求配置不同的服务器功能。以上仅是一些示例,实际应用中还有很多其他的使用场景。
위 내용은 Nginx의 주요 애플리케이션 시나리오는 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

질문 : nginx를 시작하는 방법? 답변 : nginx 스타트 업 설치 nginx verification nginx is nginx 시작 다른 시작 옵션을 자동으로 시작합니다.

nginx가 시작되었는지 확인하는 방법 : 1. 명령 줄을 사용하십시오 : SystemCTL 상태 nginx (linux/unix), netstat -ano | Findstr 80 (Windows); 2. 포트 80이 열려 있는지 확인하십시오. 3. 시스템 로그에서 nginx 시작 메시지를 확인하십시오. 4. Nagios, Zabbix 및 Icinga와 같은 타사 도구를 사용하십시오.

Nginx 서비스를 종료하려면 다음 단계를 따르려면 다음 단계를 결정합니다. Red Hat/Centos (SystemCTL 상태 NGINX) 또는 Debian/Ubuntu (서비스 NGINX 상태) 서비스 중지 : Red Hat/Centos (SystemCTL STOP NGINX) 또는 DEBIAN/UBUNTU (서비스 NGINX STOP) DIA AUTAL STARTUP (옵션) : RED HAT/CENTOS (SystemCTLED) 또는 DEBIAN/UBUNT (SystemCTLED). (Syst

Windows에서 Nginx를 구성하는 방법은 무엇입니까? nginx를 설치하고 가상 호스트 구성을 만듭니다. 기본 구성 파일을 수정하고 가상 호스트 구성을 포함하십시오. 시작 또는 새로 고침 Nginx. 구성을 테스트하고 웹 사이트를보십시오. SSL을 선택적으로 활성화하고 SSL 인증서를 구성하십시오. 포트 80 및 443 트래픽을 허용하도록 방화벽을 선택적으로 설정하십시오.

서버는 요청 된 리소스에 액세스 할 수있는 권한이 없으므로 Nginx 403 오류가 발생합니다. 솔루션에는 다음이 포함됩니다. 파일 권한 확인 권한을 확인하십시오. .htaccess 구성을 확인하십시오. nginx 구성을 확인하십시오. Selinux 권한을 구성하십시오. 방화벽 규칙을 확인하십시오. 브라우저 문제, 서버 장애 또는 기타 가능한 오류와 같은 다른 원인을 해결하십시오.

Linux에서 Nginx를 시작하는 단계 : Nginx가 설치되어 있는지 확인하십시오. systemctl start nginx를 사용하여 nginx 서비스를 시작하십시오. SystemCTL을 사용하여 NGINX를 사용하여 시스템 시작시 NGINX의 자동 시작을 활성화하십시오. SystemCTL 상태 nginx를 사용하여 시작이 성공했는지 확인하십시오. 기본 환영 페이지를 보려면 웹 브라우저의 http : // localhost를 방문하십시오.

Linux에서는 다음 명령을 사용하여 nginx가 시작되었는지 확인하십시오. SystemCTL 상태 Nginx 판사 명령 출력에 따라 : "active : running"이 표시되면 Nginx가 시작됩니다. "Active : 비활성 (죽음)"이 표시되면 Nginx가 중지됩니다.

질문에 대한 답변 : 304 수정되지 않은 오류는 브라우저가 클라이언트 요청의 최신 리소스 버전을 캐시했음을 나타냅니다. 솔루션 : 1. 브라우저 캐시를 지우십시오. 2. 브라우저 캐시를 비활성화합니다. 3. 클라이언트 캐시를 허용하도록 nginx를 구성합니다. 4. 파일 권한을 확인하십시오. 5. 파일 해시를 확인하십시오. 6. CDN 또는 리버스 프록시 캐시를 비활성화합니다. 7. nginx를 다시 시작하십시오.


핫 AI 도구

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

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

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

Clothoff.io
AI 옷 제거제

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

인기 기사

뜨거운 도구

SecList
SecLists는 최고의 보안 테스터의 동반자입니다. 보안 평가 시 자주 사용되는 다양한 유형의 목록을 한 곳에 모아 놓은 것입니다. SecLists는 보안 테스터에게 필요할 수 있는 모든 목록을 편리하게 제공하여 보안 테스트를 더욱 효율적이고 생산적으로 만드는 데 도움이 됩니다. 목록 유형에는 사용자 이름, 비밀번호, URL, 퍼징 페이로드, 민감한 데이터 패턴, 웹 셸 등이 포함됩니다. 테스터는 이 저장소를 새로운 테스트 시스템으로 간단히 가져올 수 있으며 필요한 모든 유형의 목록에 액세스할 수 있습니다.

SublimeText3 Linux 새 버전
SublimeText3 Linux 최신 버전

Atom Editor Mac 버전 다운로드
가장 인기 있는 오픈 소스 편집기

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

SublimeText3 Mac 버전
신 수준의 코드 편집 소프트웨어(SublimeText3)
