首頁 > 軟體

Nginx如何設定多個服務域名解析共用80埠詳解

2022-09-14 22:12:50

前言

由於公司一臺伺服器同時有多個服務,這些服務通過域名解析都希望監聽80/443埠直接通過域名存取,比如有demo.test.com和product.test.com。這時候我們可以使用nginx的代理轉發功能幫我們實現共用80/443埠的需求。

備註:由於HTTP協定預設監聽80埠,HTTPS協定預設監聽443埠,所以使用瀏覽器存取80/443埠的服務時,可以忽略域名後的“ :80/:443” 埠,直接設定監聽到80埠,存取比較方便。

設定nginx多服務共用80埠

首先找到nginx組態檔    

通過apt-get install nginx命令安裝的nginx預設組態檔存放在:/etc/nginx目錄下
 
切換到/etc/nginx目錄
 
#cd /etc/nginx           #切換到nginx目錄
 
# ls                     #檢視nginx目錄下檔案
conf.d        fastcgi_params  koi-win     modules-available  nginx.conf    scgi_params      sites-enabled  uwsgi_params fastcgi.conf  koi-utf         mime.types  modules-enabled    proxy_params  sites-available  snippets       win-utf
 
#vim nginx.conf          #開啟nginx組態檔(輸入shift+i插入內容,esc退出編輯,點選shift+:輸入q退出當前頁,q!強制退出,不儲存編輯的內容;輸入wq!強制退出並儲存)

以下以兩個服務使用域名存取,共用80埠為例

方案一:多個不同埠服務共用80埠

1)設定nginx.conf檔案

1.先設定兩個埠服務:
// nginx.conf
#demo
server {
    listen       8001;
    server_name localhost;
    try_files $uri $uri/ /index.html;
    root    /home/www/demo;
}
#product
server {
    listen        8002;
    server_name  localhost;
    try_files $uri $uri/ /index.html;
    root    /home/www/product;
}
 
2.設定代理:
// nginx.conf
#demo轉發
server {
    listen       80;
    server_name demo.test.com;
    location / {
        proxy_pass http://localhost:8001;
    }
}
#product轉發
server {
    listen       80;
    server_name product.test.com;
    location / {
        proxy_pass http://localhost:8002;
    }
}

2)設定完成後重啟nginx服務

#systemctl restart nginx

3)  如果是本地區域網需要設定網路將對應的埠,我這邊是80,8001,8002三個埠對映到公網IP,並解析對應的域名,完成後就可以正常存取了;

方案二:多個服務共用80埠

1)設定nginx.conf檔案

// nginx.conf
# nginx 80埠設定 (監聽demo二級域名)
server {
    listen  80;
    server_name     demo.test.com;
    location / {
        root   /home/www/demo;
        index  index.html index.htm;
    }
}
 
# nginx 80埠設定 (監聽product二級域名)
server {
    listen  80;
    server_name     product.test.com;
    location / {
        root   /home/www/product;
        index  index.html index.htm;
    }
}

2)參考方案一,設定完成後儲存,重啟nginx服務,存取測試。

總結

到此這篇關於Nginx如何設定多個服務域名解析共用80埠的文章就介紹到這了,更多相關Nginx多服務域名解析共用80埠內容請搜尋it145.com以前的文章或繼續瀏覽下面的相關文章希望大家以後多多支援it145.com!


IT145.com E-mail:sddin#qq.com