回覆列表
  • 1 # 架構漫談

    簡單配置下反向代理。nginx最擅長的就是這個。簡單幾行程式碼即可。

    server{

    listen 8888 //你要的埠

    location /{

    proxy_pass http://你要的埠

    }

    }

    然後重啟nginx

    service nginx restart

  • 2 # 一個存在感小透明

    根據我在BAT的工作經驗來說,nginx已經在java web開發中越來越重要了。我們在工作中,最常使用的就是nginx的負載均衡與反向代理功能。

    之前的回答裡曾經詳細介紹過nginx的反向代理與負載均衡,接下來,就以題主的問題為例,把之前的理論落地到實踐,分析下如何配置

    nginx.conf

    檔案。

    配置埠號

    首先,nginx需要繫結一個埠,如下圖紅框,nginx的埠號就是8001,當你訪問http://10.100.100.100:8001的時候,請求就會指向nginx(假設這個nginx所在機器的ip是10.100.100.100)。下面的server_name引數,是同時將nginx綁定了一個域名,當你輸入這個域名的時候,也會將請求轉向nginx。

    在題主這種情況,就可以將8001替換成9000。

    配置upstream

    接下來,我們可以設定後端伺服器組的主要指令upstream,我們首先給紅框中的upstream起名為aaa_back,這個upstream指向了一個server,當nginx將請求轉發到這個upstream的時候,其實是將請求轉發給這個ip:port/加後面的path。如圖所示,題主所說的情況,要將請求轉發給本機,那麼server的值就是127.0.0.1:80。

    配置location

    上一個步驟配置的upstream其實是可以作為變數,用在location中的。

    從下面的配置就可以看出來,當你的請求url是http://{nginx所在機器的ip}:{nginx繫結的port}/api/pts,其實是會被轉發到 {upstream裡引數名為xx_java_bak的server的ip:port}/

    api.php/pts/

    這個地址的。

    至此,配置好port,upsteam和location,就能把9000埠的請求,轉向80了。

  • 中秋節和大豐收的關聯?
  • 為什麼有人說“潮汕”一詞是清朝商埠洋文化?