찾다
운영 및 유지보수엔진스Node.js에서 Nginx 서버를 구성하고 사용하는 방법

node.js는 Chrome JavaScript 런타임을 기반으로 구축된 플랫폼으로, 빠른 응답 속도와 쉬운 확장으로 웹 애플리케이션을 쉽게 구축하는 데 사용됩니다. Node.js는 가볍고 효율적이기 위해 이벤트 중심의 비차단 I/O 모델을 사용합니다. 이는 실시간 채팅 등과 같이 분산 장치에서 실행되는 데이터 집약적인 실시간 애플리케이션에 매우 적합합니다. 그러나 gzip 인코딩, 정적 파일, http 캐싱, SSL 처리, 로드 밸런싱 및 역방향 프록시 등은 모두 nginx를 통해 완료될 수 있으므로 nginx의 강력한 캐시를 통해 node.js의 로드를 줄이고 웹사이트 트래픽을 절약할 수 있습니다. 속도.
Flowchart

Node.js에서 Nginx 서버를 구성하고 사용하는 방법

nginx 구성은 다음과 같습니다.

 http {
  proxy_cache_path /var/cache/nginx levels=1:2 keys_zone=one:8m max_size=3000m inactive=600m;
  proxy_temp_path /var/tmp;
  include    mime.types;
  default_type application/octet-stream;
  sendfile    on;
  keepalive_timeout 65;
 
  gzip on;
  gzip_comp_level 6;
  gzip_vary on;
  gzip_min_length 1000;
  gzip_proxied any;
  gzip_types text/plain text/html text/css application/json application/x-javascript text/xml application/xml application/xml+rss text/javascript;
  gzip_buffers 16 8k;
 
  ssl_certificate /some/location/sillyfacesociety.com.bundle.crt;
  ssl_certificate_key /some/location/sillyfacesociety.com.key;
  ssl_protocols    sslv3 tlsv1;
  ssl_ciphers high:!anull:!md5;
 
  upstream silly_face_society_upstream {
   server 127.0.0.1:61337;
   server 127.0.0.1:61338;
   keepalive 64;
  }
 
  server {
   listen 80;
   listen 443 ssl;
 
   server_name sillyfacesociety.com;
   return 301 $scheme://www.sillyfacesociety.com$request_uri;
  }
 
  server {
    listen 80;
    listen 443 ssl;
 
    server_name www.sillyfacesociety.com;
 
    error_page 502 /errors/502.html;
 
    location ~ ^/(images/|img/|javascript/|js/|css/|stylesheets/|flash/|media/|static/|robots.txt|humans.txt|favicon.ico) {
     root /usr/local/silly_face_society/node/public;
     access_log off;
     expires max;
    }
 
    location /errors {
     internal;
     alias /usr/local/silly_face_society/node/public/errors;
    }
 
    location / {
     proxy_redirect off;
     proxy_set_header  x-real-ip      $remote_addr;
     proxy_set_header  x-forwarded-for $proxy_add_x_forwarded_for;
     proxy_set_header  x-forwarded-proto $scheme;
     proxy_set_header  host          $http_host;
     proxy_set_header  x-nginx-proxy  true;
     proxy_set_header  connection "";
     proxy_http_version 1.1;
     proxy_cache one;
     proxy_cache_key sfs$request_uri$scheme;
     proxy_pass     http://silly_face_society_upstream;
    }
  }
}

구성 섹션 설명

http {
  ...
  upstream silly_face_society_upstream {
   server 127.0.0.1:61337;
   server 127.0.0.1:61338;
   keepalive 64;
  }
  ...
}

nginx는 여러 nodo.js 인스턴스의 부하를 분산합니다. keepalive 64는 nginx에게 언제든지 프록시 서버에 대한 최소 64개의 http/1.1 연결을 유지하도록 지시합니다. 트래픽이 더 많으면 nginx는 더 많은 연결을 엽니다.

http {
  ...
  server {
    ...
    location / {
     proxy_redirect off;
     proxy_set_header  x-real-ip      $remote_addr;
     proxy_set_header  x-forwarded-for $proxy_add_x_forwarded_for;
     proxy_set_header  host          $http_host;
     proxy_set_header  x-nginx-proxy  true;
     ...
     proxy_set_header  connection "";
     proxy_http_version 1.1;
     proxy_pass     http://silly_face_society_upstream;
    }
    ...
  }
}

일치하는 요청을 프록시에 보냅니다. nginx의 일치 규칙에 대해서는 이전 기사를 읽을 수 있습니다.
nginx는 정적 콘텐츠를 처리합니다

http {
  ...
  server {
    ...
    location ~ ^/(images/|img/|javascript/|js/|css/|stylesheets/|flash/|media/|static/|robots.txt|humans.txt|favicon.ico) {
     root /usr/local/silly_face_society/node/public;
     access_log off;
     expires max;
    }
    ...
  }
}

캐시 ​​설정

http {
  ...
  proxy_cache_path /var/cache/nginx levels=1:2 keys_zone=one:8m max_size=3000m inactive=600m;
  proxy_temp_path /var/tmp;
  ...
}


http {
 server {
   ...
   location / {
     ...
     proxy_cache one;
     proxy_cache_key sfs$request_uri$scheme;
     ...
   }
   ...
 }
}

캐시는 http 헤더를 통해 제어됩니다.

helloworld
helloworld.js

var http = require('http'); 
 
 
http.createserver(function (request, response) { 
  
 response.writehead(200, {'content-type': 'text/plain'}); 
 response.end('hello world\n'); 
}).listen(61337); 
 
 
console.log('server running at http://127.0.0.1:61337/');

를 작성하고 node helloworld.js 명령을 사용하여 열면 로컬 머신에서 실행되는 nodejs 프로그램이 시작되어 점유됩니다. 포트 8000. 직접 수정할 수 있습니다.

이 시점에서 nginx의 vhost.conf 설정이 다음과 같아야 합니다:

server { 
  listen 80; 
  server_name jb51.net.jb51.net; 
  location / { 
  proxy_pass http://127.0.0.1:61337; 
  } 
}

웹사이트 도메인 이름을 설정한 다음 포트를 80으로 설정하고 마지막으로 Proxy_pass를 http://127.0.0.1:61337로 설정합니다. , 그리고 jb51.net:80의 요청이 nodejs 프로그램으로 전달됩니다.
nginx를 다시 시작하고 도메인 이름에 액세스하면 helloworld를 볼 수 있습니다.
node.js 자체를 서버로 사용할 수 있는 것은 사실이지만, 예를 들어 Welcome.js에 포트 80을 설정하면 됩니다.
그러나 하나의 기계가 여러 웹사이트를 운영하고 다른 웹사이트는 다른 서버를 사용합니다. 포트 80이 이미 사용 중이면 다른 포트로 프록시를 통해 처리될 수 있습니다.

위 내용은 Node.js에서 Nginx 서버를 구성하고 사용하는 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명
이 기사는 亿速云에서 복제됩니다. 침해가 있는 경우 admin@php.cn으로 문의하시기 바랍니다. 삭제
Nginx 청취 IPv6Nginx 청취 IPv6Apr 14, 2025 am 06:18 AM

Nginx가 IPv6 주소를 듣게하려면 서버 블록 구성에서 청취 지시문을 구성하고 IPv6 주소를 매개 변수로 지정하십시오. 특정 단계에는 다음이 포함됩니다. Nginx 구성 파일 열기, 서버 블록 구성 추가, IPv6 주소를 지정하여 청취 명령어 구성, 변경 사항 저장 및 Nginx 재시작. 웹 사이트에서 SSL/TLS를 사용하는 경우 IPv6 주소에 대한 SSL 인증서도 구성해야합니다.

Lei Jun은 새해의 소원을 공유합니다. 체육관에서 30 만 대의 자동차와 100 개의 체크인 시간을 배달합니다.Lei Jun은 새해의 소원을 공유합니다. 체육관에서 30 만 대의 자동차와 100 개의 체크인 시간을 배달합니다.Apr 13, 2025 pm 11:54 PM

새해 초반, 레이 준은 새해 초에 2025 년에 새해 3 번의 소원을 공유했으며,이 4 시간 반 길이의 라이브 방송은 많은 관심을 끌었습니다. Lei Jun의 세 가지 주요 소원은 다음과 같습니다. 첫째, 300,000 대의 차량의 배달 목표를 달성하고 압력을 완화하며 더 이상 진전에 따라 잡지 않습니다. 둘째, 더 많은 여행 시간을 보내고, 전 세계의 아름다운 경치를 즐기고, 특별한 음식을 맛보고, 일과 함께 자동차 테스트를 수행하십시오. 셋째, 체력을 고수하고 체육관에서 100 번 확인하여 몸을 강화하십시오. 레이 준 (Lei Jun)은 라이브 방송에서 2024 년에 소형 일정으로 여행했다고 인정했기 때문에 종종 짧은 시간 동안 만 머물면서 현지 문화를 깊이 경험하기가 어렵습니다. 예를 들어, 독일의 New North Speedway에서 그는 단 8 시간 동안 머물 렀습니다. 따라서 새해에는 일과 삶과 여행의 균형을 향상시키기를 희망합니다.

연례 평판 걸작! 9 번 회사의 마이크로 필름 '메모리 여행'은 많은 권위있는 상을 수상했습니다연례 평판 걸작! 9 번 회사의 마이크로 필름 '메모리 여행'은 많은 권위있는 상을 수상했습니다Apr 13, 2025 pm 11:51 PM

9 위와 브랜드 대변인 Yi Yang Qianxi가 만든 마이크로 필름 "메모리 여행"은 2024 년에 여러 권위있는 미디어 상을 수상했으며 올해의 걸작이되었습니다. 이 작품은 독특한 이야기 ​​스타일, 절묘한 제작 및 진지한 감정으로 업계로부터 높은 찬사를 받았습니다. 2024 상과 영예 : 2024 Gold T 큰

혁신을 이끌고 또 다른 명예를 얻으십시오! Agon은 Pconline2024 Zhizhen Technology Award를 수상했습니다혁신을 이끌고 또 다른 명예를 얻으십시오! Agon은 Pconline2024 Zhizhen Technology Award를 수상했습니다Apr 13, 2025 pm 11:48 PM

최근 PCONLINE2024 ZHIZHEN 기술 상이 공식적으로 발표되었으며 Agon Aidong QD-OLED E-Sports Display AG326UD가 "올해의 기술 혁신"상을 수상했습니다. 이 영광은 업계의 기술적 장점과 시장 성과에 대한 업계의 높은 인식을 나타낼뿐만 아니라 E-Sports Display 기술 분야에서 Agon의 혁신적인 기능과 뛰어난 성과를 완전히 반영합니다. 01. 기술의 미래를 살펴보면 PCONLINE ZHIZHEN 기술 상의 권위있는 가치는 기술 산업의 날씨 금지입니다. Pconline Zhizhen Technology Award는 엄격한 평가 시스템과 심도있는 산업 분석으로 광범위한 업계 인정을 성공적으로 승리했습니다. 이상은 기술 산업의 개발을 촉진하는 뛰어난 제품 및 브랜드를 항상 헌신하고 기술을 다루기 위해 노력해 왔습니다.

Sony는 PS5 Pro에서 특수 GPU를 사용하여 AMD로 AI를 개발할 가능성을 확인합니다.Sony는 PS5 Pro에서 특수 GPU를 사용하여 AMD로 AI를 개발할 가능성을 확인합니다.Apr 13, 2025 pm 11:45 PM

Sonyinteractiveent intustionment (SIE, Sony Interactive Entertainment)의 최고 건축가 인 Mark Cerny는 성능 업그레이드 된 AMDRDNA2.X 아키텍처 GPU 및 AMD와 함께 기계 학습/인공 지능 프로그램 코드 "Amethylst"를 포함하여 차세대 호스트 PlayStation5Pro (PS5PRO)에 대한 더 많은 하드웨어 세부 정보를 발표했습니다. PS5PRO 성능 향상의 초점은 여전히 ​​강력한 GPU, Advanced Ray Tracing 및 AI 구동 PSSR Super-Resolution 기능을 포함하여 세 가지 기둥에 있습니다. GPU는 Sony가 RDNA2.x라는 맞춤형 AMDRDNA2 아키텍처를 채택하며 RDNA3 아키텍처가 있습니다.

마침내 변경되었습니다! Microsoft Windows 검색 기능은 새로운 업데이트를 안내합니다.마침내 변경되었습니다! Microsoft Windows 검색 기능은 새로운 업데이트를 안내합니다.Apr 13, 2025 pm 11:42 PM

EU의 일부 Windows 내부 채널에서 Microsoft의 Windows 검색 기능 개선이 테스트되었습니다. 이전에 통합 Windows 검색 기능은 사용자에 의해 비판을 받았으며 경험이 좋지 않았습니다. 이 업데이트는 검색 기능을 두 부분으로 나눕니다. 로컬 검색 및 Bing 기반 웹 검색을 위해 사용자 경험을 향상시킵니다. 검색 인터페이스의 새 버전은 기본적으로 로컬 파일 검색을 수행합니다. 온라인으로 검색 해야하는 경우 "Microsoft BingwebSearch"탭을 클릭하여 전환해야합니다. 전환 후 검색 바에는 사용자가 키워드를 입력 할 수있는 "Microsoft Bingwebsearch :"가 표시됩니다. 이 움직임은 로컬 검색 결과와 Bing 검색 결과의 혼합을 효과적으로 피합니다.

기술적으로 구운! Monster Hunter는 20 주년 기념 바베큐 타이머와 주전자를 출시합니다기술적으로 구운! Monster Hunter는 20 주년 기념 바베큐 타이머와 주전자를 출시합니다Apr 13, 2025 pm 11:39 PM

Capcom의 "Monster Hunter"시리즈 20 주년을 축하하기 위해 Baodao Club은 독특한 잡지 세트 인 "Monster Hunter"테마 바베큐 타이머 및 동반 컵을 시작했습니다. 이 세트는 12 월 27 일 일본 전국의 홈 편의점에서 이용할 수 있으며 3,498 엔으로 가격이 책정됩니다. 이 잡지 세트의 가장 큰 하이라이트는 대화 형 바베큐 타이머로 일련의 게임에서 클래식 바베큐 장면을 완벽하게 복제합니다. 타이머는 LED 불꽃 효과 및 게임 BGM이 장착 된 이전 버전의 바베큐 도구로 설계되어 실제 바베큐 프로세스 중에 사냥의 재미를 경험할 수 있습니다. 회전 핸들은 뒤집힌 바베큐를 시뮬레이션합니다. 성공적으로 베이킹을 한 후 "Baked!"의 음성 프롬프트가 있습니다. 재생됩니다. 타이머 크기는 약 9.5cm (높이) x 10.7cm (너비) x 8cm (깊이), 내장 L입니다.

나는 사용자를 매우 이해한다! Xiaomi SU7 소유자는 무료 밸브 코어 캡을 무료로 얻을 수 있습니다.나는 사용자를 매우 이해한다! Xiaomi SU7 소유자는 무료 밸브 코어 캡을 무료로 얻을 수 있습니다.Apr 13, 2025 pm 11:36 PM

Xiaomi Auto의 첫 번째 기념일 축하 행사는 자동차 소유자에게 새해 선물을 줄 것입니다! Xiaomi Auto의 공식 Weibo는 작년에 배달량이 130,000 대의 차량을 초과 한 후 Lei Jun의 클래식 인용문“Areyouok?”를 제공 할 것이라고 발표했습니다. 모든 Xiaomi SU7 소유자 및 예비 소유자에게. 숫자는 제한되어 있으며 무료로받을 수 있습니다! 활동 시간 : 2024 년 12 월 20 일 2025 년 1 월 20 일에 2024 년 12 월 20 일 오후 4시. 무료로 밸브 코어 캡. 이 밸브 코어 캡은 올해 9 월에 처음 출시되었으며 밝은 노란색 PVC 및 황동 재료로 만들어졌습니다. 황동 코어는 직접 내장되어 안전한 운전을 보장하고 떨어지지 않기 쉽습니다. 널리 사용되는

See all articles

핫 AI 도구

Undresser.AI Undress

Undresser.AI Undress

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

AI Clothes Remover

AI Clothes Remover

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

Undress AI Tool

Undress AI Tool

무료로 이미지를 벗다

Clothoff.io

Clothoff.io

AI 옷 제거제

AI Hentai Generator

AI Hentai Generator

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

인기 기사

R.E.P.O. 에너지 결정과 그들이하는 일 (노란색 크리스탈)
3 몇 주 전By尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. 최고의 그래픽 설정
3 몇 주 전By尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. 아무도들을 수없는 경우 오디오를 수정하는 방법
3 몇 주 전By尊渡假赌尊渡假赌尊渡假赌
WWE 2K25 : Myrise에서 모든 것을 잠금 해제하는 방법
4 몇 주 전By尊渡假赌尊渡假赌尊渡假赌

뜨거운 도구

ZendStudio 13.5.1 맥

ZendStudio 13.5.1 맥

강력한 PHP 통합 개발 환경

SublimeText3 영어 버전

SublimeText3 영어 버전

권장 사항: Win 버전, 코드 프롬프트 지원!

DVWA

DVWA

DVWA(Damn Vulnerable Web App)는 매우 취약한 PHP/MySQL 웹 애플리케이션입니다. 주요 목표는 보안 전문가가 법적 환경에서 자신의 기술과 도구를 테스트하고, 웹 개발자가 웹 응용 프로그램 보안 프로세스를 더 잘 이해할 수 있도록 돕고, 교사/학생이 교실 환경 웹 응용 프로그램에서 가르치고 배울 수 있도록 돕는 것입니다. 보안. DVWA의 목표는 다양한 난이도의 간단하고 간단한 인터페이스를 통해 가장 일반적인 웹 취약점 중 일부를 연습하는 것입니다. 이 소프트웨어는

SublimeText3 중국어 버전

SublimeText3 중국어 버전

중국어 버전, 사용하기 매우 쉽습니다.

에디트플러스 중국어 크랙 버전

에디트플러스 중국어 크랙 버전

작은 크기, 구문 강조, 코드 프롬프트 기능을 지원하지 않음