Rumah  >  Artikel  >  Operasi dan penyelenggaraan  >  Bagaimana untuk mengkonfigurasi akses nama berbilang port dan berbilang domain dalam Nginx

Bagaimana untuk mengkonfigurasi akses nama berbilang port dan berbilang domain dalam Nginx

PHPz
PHPzke hadapan
2023-05-12 08:43:051776semak imbas

Akses berbilang port ke nama domain utama

Tetapkan rekod dalam pelayan nama dns

Tuding ke ip pelayan

untuk membuka port yang diperlukan, ubah suai fail konfigurasi nginx

Sebagai contoh, kami mempunyai dua perkhidmatan dibuka di port 80 dan port 8080 masing-masing

Jika ada iptable, buka port dahulu:

iptables -a input -ptcp --dport 80 -j accept
iptables -a input -ptcp --dport 8080 -j accept

Ubah suai fail konfigurasi:

#path: /usr/local/nginx/conf/nginx.conf

server {
listen 80;
server_name www.xxx.com;
access_log /data/www/log/33.33.33.33_nginx.log combined;
index index.html index.htm index.php;
include /usr/local/nginx/conf/rewrite/none.conf;
root /data/www/website/33.33.33.33:80;


location ~ [^/]\.php(/|$) {
  fastcgi_pass unix:/dev/shm/php-cgi.sock;
  fastcgi_index index.php;
  include fastcgi.conf;
  }
location ~ .*\.(gif|jpg|jpeg|png|bmp|swf|flv|ico)$ {
  expires 30d;
  access_log off;
  }
location ~ .*\.(js|css)?$ {
  expires 7d;
  access_log off;
  }
}
server {
listen 8080;
server_name a.xxx.com;
access_log /data/www/log/33.33.33.33:8080_nginx.log combined;
index index.html index.htm index.php;
include /usr/local/nginx/conf/rewrite/none.conf;
root /data/www/website/33.33.33.33:8080;


location ~ [^/]\.php(/|$) {
  fastcgi_pass unix:/dev/shm/php-cgi.sock;
  fastcgi_index index.php;
  include fastcgi.conf;
  }
location ~ .*\.(gif|jpg|jpeg|png|bmp|swf|flv|ico)$ {
  expires 30d;
  access_log off;
  }
location ~ .*\.(js|css)?$ {
  expires 7d;
  access_log off;
  }
}

Kuncinya ialah dua konfigurasi segmen pelayan Anda juga boleh membahagikan dua segmen ini kepada dua konfigurasi Fail, letakkannya di bawah direktori

/etc/nginx/conf.d/

akses berbilang port nama subdomain

Akses jenis ini adalah bodoh, kerana akses 8080 Port anda memerlukan format http://xxx.com:8080

Dan jika terdapat dua cgi yang berbeza, contohnya, port 80 sepadan dengan web php; perkhidmatan, dan port 8080 sepadan dengan perkhidmatan web nodejs; dan nodejs kami disertakan dengan perkhidmatan web yang sudah mendengar pada port 8080. Apakah yang perlu kami lakukan?

Pada masa ini kita memerlukan fungsi proksi terbalik nginx, dan menambah rekod pada pelayan dns, dan akhirnya mencapai

  • www.xxx.com port akses 80

  • a.xxx.com mengakses perkhidmatan port 8080 melalui pemajuan nginx

Tambah rekod

Tuding a.xxx.com ke ip pelayan

templat konfigurasi nginx adalah seperti berikut:

#path: /usr/local/nginx/conf/nginx.conf

server {
  listen 80;
  server_name www.xxx.com;
  access_log /data/www/log/33.33.33.33_nginx.log combined;
  index index.html index.htm index.php;
  include /usr/local/nginx/conf/rewrite/none.conf;
  root /data/www/website/33.33.33.33:80;


  location ~ [^/]\.php(/|$) {
    fastcgi_pass unix:/dev/shm/php-cgi.sock;
    fastcgi_index index.php;
    include fastcgi.conf;
    }
  location ~ .*\.(gif|jpg|jpeg|png|bmp|swf|flv|ico)$ {
    expires 30d;
    access_log off;
    }
  location ~ .*\.(js|css)?$ {
    expires 7d;
    access_log off;
    }
}

server {
  listen 80;
  listen [::]:80;

  server_name a.xxx.com;

  proxy_connect_timeout 300s;
  proxy_send_timeout 300s;
  proxy_read_timeout 300s;
  fastcgi_send_timeout 300s;
  fastcgi_read_timeout 300s;

  location / {
    proxy_pass  http://127.0.0.1:3000;
    proxy_http_version 1.1;
    proxy_set_header upgrade $http_upgrade;
    proxy_set_header connection 'upgrade';
    proxy_set_header host $host;
    proxy_cache_bypass $http_upgrade;
    try_files $uri $uri/ =404;
  }
}

nginx memuat semula fail konfigurasi

rreeee

Atas ialah kandungan terperinci Bagaimana untuk mengkonfigurasi akses nama berbilang port dan berbilang domain dalam Nginx. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Artikel ini dikembalikan pada:yisu.com. Jika ada pelanggaran, sila hubungi admin@php.cn Padam