筆記:同時開啟幾個服務使用 nginx 共用80埠

YING123發表於2018-03-22

在寫前端專案的時候,用node開啟本地伺服器跑專案,但是,如果想用把訪問地址從 類似的 127.0.0.1:8888 改變成域名(如 xxx.com )這種形式,就要用到繫結host代理,繫結代理,預設訪問的是 ip 的 80 埠,那麼問題來了,我同時執行好幾個專案,都要用80埠怎麼辦。

現在電腦上nginx是常開狀態,並且佔用的是80埠,現在使用 nginx 反向代理,自己本地的伺服器。
比如,我現在開了2個服務,一個服務埠為3000,一個為3001。

配置nginx

  • 開啟找到nginx配置檔案:/usr/local/etc/nginx/nging.conf
  • 新建一個資料夾,xxx
  • 在檔案最底部加入include xxx/*.conf;
  • 新建檔案,可以以自己想要訪問的域名為檔名,比如 app.conf,.conf是檔案字尾。
server {
    listen 80;
    server_name app.com;

    location / {
        # try_files $uri $uri/ /index.php?$query_string;
        proxy_pass http://127.0.0.1:3000;
        index index.html;
    }

    location ~ /\.ht {
        deny all;
    }
}
複製程式碼

還有一個3001埠一樣的,換個名字,換個埠。

重啟nginx nginx -s reload,看情況是否需要root許可權

繫結host

vi /etc/hosts

127.0.0.1 app.com xxx.com
複製程式碼

現在在瀏覽器開啟 app.com / xxx.com,不出意外,開啟應該就是你現在自己啟動的服務了。

相關文章