Có thể làm cho Nginx nghe các cổng khác nhau?


82

Tôi đã tạo một Nginx với một Linux Azure VM, có thể khiến nginx nghe các cổng khác nhau để khi tôi thay đổi số cổng, nội dung sẽ khác. Tôi thấy rằng sẽ có một xung đột nếu tôi tạo hai hoặc nhiều cổng liên quan đến HTTP trên VM. Bất cứ ai có thể giúp tôi với điều đó?

Câu trả lời:


89

Vâng, đúng vậy.

Những gì bạn có thể muốn là nhiều khổ thơ "máy chủ", mỗi khổ có một cổng khác nhau, nhưng có thể (có lẽ?) Cùng một tên máy chủ, phục vụ nội dung "khác nhau" một cách thích hợp trong mỗi một, có thể có một gốc tài liệu khác nhau trong mỗi máy chủ.

Tài liệu đầy đủ có tại đây: http://nginx.org/en/docs/http/server_names.html

Thí dụ:

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/
}

Giải thích tốt
billcyz

16
Thật khó chịu khi người ta không thể làm điều listen 80 81;đó? Ôi chà ...
Matt Fletcher

@MattFletcher Có thể làm điều gì đó tương tự, xem bình luận của Felix: serverfault.com/a/755791/308219
PaulMest

182

Bạn cũng có thể làm như sau:

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

2
Điều đó thật tuyệt. Cụ thể, việc có thể thay đổi cấu hình máy chủ chỉ trong một bối cảnh máy chủ có vẻ vượt trội hơn nhiều so với việc mạo hiểm thay đổi một và không thay đổi cái khác ...
Aaron Sofaer

6
Điều này không trả lời câu hỏi của @billcyz. Ông yêu cầu các cổng khác nhaunội dung khác nhau . Câu trả lời này cung cấp các cổng khác nhau với cùng một nội dung .
Isaac Sutherland

@Krishnendu: "thuận tiện hơn nhiều"? thuận tiện hơn những gì? Điều này không trả lời câu hỏi OP. Trong trường hợp đó, cả hai: 80 và: 8000 điểm cho cùng một nội dung. OP hỏi rõ ràng "khi tôi thay đổi số cổng, nội dung sẽ khác". Vì vậy, bài đăng từ Craig Miskell trả lời tốt hơn cho câu hỏi này hơn câu hỏi này
cedbeu

3
@cedbeu: Có, bạn đúng trong bối cảnh câu hỏi được hỏi Craig Miskell câu trả lời là phù hợp hơn. Tôi đang tìm giải pháp khác nơi tôi cần phục vụ cùng một nội dung trên nhiều cổng, đây chính là thứ tôi cần. Một lần nữa cho câu hỏi được đưa ra, những câu hỏi khác phù hợp hơn, Xin lỗi nếu tôi đánh lừa ai đó, Đó là một sai lầm trung thực từ phía tôi.
Krishnendu

@Krishnendu không có vấn đề gì :) mọi thứ đã được làm rõ ngay bây giờ
cedbeu
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.