Apakah mungkin untuk membuat Nginx mendengarkan port yang berbeda?


82

Saya membuat satu Nginx dengan satu Linux Azure VM, mungkinkah membuat nginx mendengarkan port yang berbeda sehingga ketika saya mengubah nomor port, isinya akan berbeda. Saya menemukan akan ada tabrakan jika saya membuat dua atau lebih port yang terkait dengan HTTP pada VM. Dapatkan seseorang menolong saya dengan itu?

Jawaban:


90

Ya itu.

Apa yang Anda mungkin inginkan adalah beberapa bait "server", masing-masing dengan port yang berbeda, tetapi mungkin (mungkin?) Nama server yang sama, menyajikan konten "berbeda" dengan tepat di masing-masingnya, mungkin dengan root dokumen berbeda di setiap server.

Dokumentasi lengkap ada di sini: http://nginx.org/en/docs/http/server_names.html

Contoh:

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

Penjelasan Bagus
billcyz

16
Menyebalkan karena tidak bisa dilakukan listen 80 81;bukan? Oh well ...
Matt Fletcher

@MattFletcher Dimungkinkan untuk melakukan sesuatu yang serupa, lihat komentar Felix: serverfault.com/a/755791/308219
PaulMest

182

Anda juga dapat melakukan hal berikut:

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

2
Ini bagus. Secara khusus, dapat mengubah konfigurasi server hanya dalam satu konteks server tampaknya jauh lebih unggul daripada mengambil risiko mengubah satu dan membiarkan yang lainnya tidak berubah ...
Aaron Sofaer

6
Ini tidak menjawab pertanyaan yang diajukan oleh @billcyz. Dia meminta port yang berbeda dan konten yang berbeda . Jawaban ini memberikan port yang berbeda dengan konten yang sama .
Isaac Sutherland

@ Krishnendu: "jauh lebih nyaman"? lebih nyaman dari apa? Ini tidak menjawab pertanyaan OP. Dalam hal ini, keduanya: 80 dan: 8000 mengarah ke konten yang sama. OP bertanya secara eksplisit "ketika saya mengubah nomor port, isinya akan berbeda". Jadi, posting dari Craig Miskell menjawab jauh lebih baik untuk pertanyaan daripada yang ini
cedbeu

3
@cedbeu: Ya Anda benar dalam konteks pertanyaan yang diajukan. Craig Miskell menjawab lebih tepat. Saya sedang mencari solusi lain di mana saya perlu menyajikan konten yang sama pada banyak port, inilah yang saya butuhkan. Sekali lagi untuk pertanyaan yang diajukan yang diajukan ans lainnya lebih tepat, Maaf jika saya menyesatkan seseorang, itu adalah kesalahan jujur ​​dari pihak saya.
Krishnendu

@ Krishnendu tidak masalah :) semuanya diklarifikasi sekarang
cedbeu
Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.