Windows에 nginx 설치, nginx 다운로드 및 설치 튜토리얼

리눅스에 익숙한 많은 사람들이 nginx를 사용해 왔습니다. 웹 서버로서 nginx는 리소스를 거의 차지하지 않으면서도 강력한 기능을 제공합니다. 이 작지만 강력한 nginx는 웹 서버인 Apache와 IIS의 시장 점유율을 서서히 잠식하고 있습니다. 그렇다면 nginx는 어떤 강력한 기능을 가지고 있을까요? 웹 서버 기능 외에도 많은 사람들이 nginx의 진정한 강력한 기능을 알지 못할 수도 있습니다.

Windows에 nginx 설치, nginx 다운로드 및 설치 튜토리얼

Windows에 nginx를 설치하는 방법

많은 친숙함사람들은 사용했습니다, 웹으로서의 nginx이 작지만 강력한 nginx가 천천히 웹 서버를 차지하고 있습니다.그리고 IIS의 점유율. 그렇다면 Nginx는 어떤 강력한 기능을 가지고 있을까요? 웹 서버 기능 외에도 많은 사람들이 Nginx의 진정한 강력한 기능을 이해하지 못할 수도 있습니다.

nginx, Apache, IIS는 웹 서버의 3총사로 알려져 있습니다.

nginx [엔진 x]는 HTTP이고 역방향입니다.,우편서버 및 일반 TCP/UDP 프록시 서버는 원래 다음에 의해 생성되었습니다.이고르 시소예프오랫동안 많은 무거운 짐을 싣고 가는 차량에 사용되어 왔습니다.웹사이트에서 실행 중, 포함 얀덱스메일.루비케이그리고 램블러Netcraft에 따르면, 2022년 4월 기준 nginx는 가장 바쁜 사이트 21,79%를 서비스하거나 프록시했습니다. 다음은 몇 가지 성공 사례입니다. 드롭박스넷플릭스워드프레스닷컴, FastMail.FM.

에 사용됨 Windows용 nginx 버전은 Cygwin 에뮬레이션 계층이 아닌 네이티브 Win32 API를 사용합니다. 현재는 select() 및 poll()(1.15.9) 연결 처리 메서드만 사용되므로 높은 성능과 확장성을 기대할 수 없습니다. 이러한 문제와 기타 알려진 문제로 인해 Windows용 nginx 버전은 베타 버전으로 간주됩니다. 현재 XSLT 필터, 이미지 필터, GeoIP 모듈 및 내장 Perl 언어를 제외하고는 UNIX 버전의 nginx와 거의 동일한 기능을 제공합니다.

역방향 프록시란 무엇인가요?

Nginx는 웹 서버의 기본적인 기능을 제공할 뿐만 아니라, 뛰어난 역방향 프록시 기능도 갖추고 있습니다. ) 방법은 프록시 서버를 사용하여 수락하는 것을 의미합니다.프록시 서버는 요청을 내부 네트워크의 서버로 전달하고, 서버에서 얻은 결과를 인터넷 연결을 요청한 클라이언트에게 반환합니다. 이때 프록시 서버는 외부에서 서버로 인식됩니다.

nginx 다운로드

먼저, nginx 서버 소프트웨어의 Windows 버전이 제공되는 nginx 공식 웹사이트를 방문하세요.

ngixn 공식 웹사이트를 방문하세요:https://nginx.org/

Windows에 nginx 설치, nginx 다운로드 및 설치 튜토리얼

2022년 기준 최신 버전은 nginx-1.21.6입니다. 오른쪽의 '다운로드'를 클릭하고 다운로드 페이지에서 Windows 버전의 nginx를 다운로드하세요.

Windows에 nginx 설치, nginx 다운로드 및 설치 튜토리얼

메인라인 버전이나 안정적인 버전을 다운로드할 수 있습니다.

다운로드하려면 클릭하세요:nginx/윈도우-1.21.6 | nginx/윈도우-1.20.2 

nginx 설치

다운로드 후 nginx.exe 파일을 두 번 클릭하여 nginx를 실행합니다.

Windows에 nginx 설치, nginx 다운로드 및 설치 튜토리얼

nginx.exe를 두 번 클릭하면 검은색 팝업 창이 나타나고 nginx가 성공적으로 시작되었습니다.

또는 cmd 명령 창을 열고 nginx의 압축을 푼 디렉토리로 전환한 다음 nginx.exe 또는 start nginx 명령을 입력하고 Enter를 눌러 nginx를 엽니다.

nginx가 성공적으로 시작되었는지 확인하는 방법은 무엇인가요? 브라우저에 입력하세요. http://localhost 

Windows에 nginx 설치, nginx 다운로드 및 설치 튜토리얼

nginx 시작 페이지가 보인다면 축하합니다. 성공적으로 시작된 것입니다.

nginx 구성

Nginx가 성공적으로 설치되었습니다. 다음으로 nginx를 설정해야 합니다. Linux와 마찬가지로 Windows에서도 nginx를 설정하려면 nginx 설정 파일을 수정해야 합니다.

클릭하여 열기 컨퍼런스 폴더, 폴더 내에서 메모장을 사용하여 편집 문서

http{
섬기는 사람{
listen 80; # 수신 포트, IP 기반으로 구성할 때 여기를 변경하세요(예: 192.168.1.100:8080).
서버 이름 boxpu.com;
# 호스트 도메인 이름. 실제 프로젝트가 출시된 경우 공용 네트워크의 도메인 이름을 입력하세요. 로컬로 배포된 경우 C:\Windows\System32\drivers\etc\hosts 파일에 IP 주소와 도메인 이름 매핑을 추가할 수 있습니다.
# 매핑 분석, /는 루트 경로를 나타내며, 여기에서의 분석도 정규 표현식 분석을 사용합니다.
위치 / {
루트 E:/uzbox; # 웹사이트 위치 경로
index index.html index.htm; # 홈페이지 파일
}
}
}

웹사이트가 위치한 디렉토리를 설정할 때 \ 대신 /를 사용하세요.

http{}의 몇 가지 일반적인 구성

mime.types 포함; # 파일 확장자 및 파일 유형 매핑 테이블
default_type application/octet-stream; # 기본 파일 유형
sendfile 켜기; #는 효율적인 파일 전송 모드를 켭니다. sendfile 지시어는 nginx가 파일을 출력하기 위해 sendfile 함수를 호출할지 여부를 지정합니다. 일반적인 애플리케이션에서는 켜짐으로 설정됩니다. 다운로드 및 디스크 I/O 부하가 큰 기타 애플리케이션에 사용되는 경우, 디스크 및 네트워크 I/O 처리 속도의 균형을 맞추고 시스템 부하를 줄이기 위해 꺼짐으로 설정할 수 있습니다. 참고: 이미지가 정상적으로 표시되지 않으면 이 지시어를 꺼짐으로 변경하십시오.
자동 색인이 켜짐; #는 디렉토리 목록 접근을 켜며, 다운로드 서버에 적합하며 기본적으로 닫힙니다.
tcp_nopush 켜짐; #는 네트워크 혼잡을 방지합니다.
tcp_nodelay 켜짐; #는 네트워크 혼잡을 방지합니다.
keepalive_timeout 120; # 긴 연결 시간 초과(초)
gzip 켜짐; #는 gzip 압축 출력을 켭니다.

nginx.conf 파일을 구성한 후 다음 명령을 사용하여 구성 파일이 올바른지 확인하세요.

nginx -t

명령을 입력한 후 구성이 올바르면 "syntax is ok"라는 메시지가 반환됩니다. 구성이 올바르지 않으면 오류 메시지가 반환됩니다.

기본 포트 80을 사용하는 경우 먼저 conf 디렉토리의 nginx.conf 설정 파일에서 포트 설정이 80인지 확인하세요. 확인 후 다음 명령을 사용하여 포트 80을 사용할 수 있는지 확인하세요.

netstat -ano | findstr 0.0.0.0:80

Windows에 nginx 설치, nginx 다운로드 및 설치 튜토리얼

또는 다음 포트 감지 명령을 사용하세요.

netstat -ano | findstr "80"

Windows에 nginx 설치, nginx 다운로드 및 설치 튜토리얼

nginx 설정 파일 nginx.conf를 수정하면 nginx를 종료했다가 다시 시작할 필요가 없습니다. 다음 명령만 실행하면 변경 사항이 적용됩니다.

nginx -s 다시 로드

nginx를 종료하려면

CMD 창에 nginx 명령을 입력하세요

nginx -s 정지

또는

nginx -s 종료

nginx 역방향 프록시 설정

nginx.conf 설정 파일에 tomcat_server 블록을 추가하고 tomcat_server 블록에 프록시가 필요한 웹사이트의 도메인 이름을 입력합니다.

#upstream tomcat_server 블록 역방향 프록시 설정.
업스트림 tomcat_server{
서버 t1.boxpu.com;
}

역방향 프록시에서 부하 분산을 구성해야 하는 경우 여러 개의 역방향 프록시 웹사이트를 구성할 수 있습니다.

# 로드 밸런싱 웹사이트 구성 코어 블록
업스트림 tomcat_server{
서버 t1.boxpu.com 가중치=1;
서버 t2.boxpu.com 가중치=2;
}

weight 속성은 접근 중인 각 서버의 가중치를 나타냅니다. 가중치가 높을수록 접근 가능성이 높아집니다. 예를 들어, weight=2이면 nginx는 t2.boxpu.com에 우선적으로 접근합니다. t2.boxpu.com에 접근하는 사용자가 너무 많으면 자동으로 t1.boxpu.com으로 전환됩니다.

위에서 tomcat_server 블록을 설정한 후, server 블록에 역방향 프록시를 설정합니다.

서버 {
위치 / {
proxy_pass http://tomcat_server;
#루트 디렉토리에서 proxy_pass를 사용하여 tomcat_server 블록을 호출합니다.
}
}
구성이 완료되면 nginx -t를 사용하여 구문이 올바른지 확인하고 마지막으로 nginx를 다시 시작합니다.

nginx -s 다시 로드

결론

윈도우에서성공했습니다. Windows에서의 설정 방법은 Linux와 비슷합니다. 차이점은 없습니다. 유일한 문제는 루트 웹 저장소 디렉터리의 차이입니다. 디렉터리를 호출할 때는 \ 대신 /를 사용하세요.

nginx -s 빠른 종료 중지
nginx -s 종료(graceful shutdown)
nginx -s reload는 구성을 변경하고, 새로운 구성으로 새로운 작업자 프로세스를 시작하고, 기존 작업자 프로세스를 정상적으로 종료합니다.
nginx -s reopen을 사용하여 로그 파일을 다시 엽니다.

알려진 문제

여러 명의 근로자가 일을 시작하더라도 실제로 일을 하는 사람은 단 한 명뿐입니다.
UDP 프록시 기능은 지원되지 않습니다.

향후 개선 가능성

서비스로 실행됩니다.
연결 처리 방법으로 I/O 완료 포트를 사용합니다.
단일 작업자 프로세스에서 여러 개의 작업자 스레드를 사용합니다.

점수

댓글남기기

이메일 주소는 공개되지 않습니다. 필수 필드는 *로 표시됩니다