Nginx가 다른 포트를 수신하게 할 수 있습니까?


82

하나의 Linux Azure VM으로 하나의 Nginx를 만들었으며 포트 번호를 변경하면 내용이 달라 지도록 nginx가 다른 포트를 수신하도록 할 수 있습니까? VM의 HTTP와 관련된 두 개 이상의 포트를 만들면 충돌이 발생한다는 것을 알았습니다. 누구든지 저를 도울 수 있습니까?

답변:


89

그렇습니다.

아마도 원하는 것은 여러 개의 "서버"스탠자인데, 각각은 서로 다른 포트를 가지고 있지만 아마도 같은 서버 _ 이름으로, 아마도 각 서버 내에서 "서로 다른"컨텐츠를 제공하며, 각 서버마다 다른 문서 루트를 가지고있을 것입니다.

전체 설명서는 다음과 같습니다. http://nginx.org/en/docs/http/server_names.html

예:

server {
    listen       80;
    server_name  example.org  www.example.org;
    root         /var/www/port80/
}

server {
    listen       81;
    server_name  example.org  www.example.org;
    root         /var/www/port81/
}

좋은 외식
billcyz

16
사람이 할 수 없다는 것이 짜증나 listen 80 81;십니까? 오 잘 ...
매트 플레처

그것은 비슷한 할 수 있습니다 @MattFletcher, 펠릭스의 의견을 참조하십시오 serverfault.com/a/755791/308219
PaulMest

182

다음을 수행 할 수도 있습니다.

server {
    listen 80;
    listen 8000;
    server_name example.org;
    root /var/www/;
}

2
대단하다. 특히, 하나의 서버 컨텍스트에서만 서버 구성을 변경할 수 있다는 것은 하나를 변경하고 다른 하나는 변경하지 않는 것보다 훨씬 우수합니다.
Aaron Sofaer

6
@billcyz의 질문에 대한 답변은 아닙니다. 그는 다른 포트와 다른 내용을 요구했다 . 이 답변은 동일한 내용의 다른 포트를 제공 합니다 .
아이작 서덜랜드

@ 크리슈 넨두 : "훨씬 더 편리하다"? 무엇보다 편리합니까? 이것은 OP 질문에 대답하지 않습니다. 이 경우 : 80과 : 8000은 모두 동일한 내용을 가리 킵니다. OP는 명시 적으로 "포트 번호를 변경할 때 내용이 다를 것"이라고 물었습니다. 따라서 Craig Miskell의 게시물은이 질문보다이 질문에 대한 답변이 훨씬 뛰어납니다.
cedbeu

3
@cedbeu : 그렇습니다 당신은 질문에 관하여 맞습니다 Craig Miskell 대답은 ​​더 적당합니다. 여러 포트에서 동일한 콘텐츠를 제공 해야하는 다른 솔루션을 찾고 있었는데 이것이 바로 내가 필요한 것입니다. 주어진 질문에 대해 다른 ans가 더 적합한 지 물었습니다. 일부를 잘못 인도하면 죄송합니다. 그것은 내 편에서 정직한 실수였습니다.
Krishnendu

@ Krishnendu 문제 없음 :) 이제 모든 것이 명확 해졌습니다
cedbeu
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.