使用hosts+Nginx進行本地開發

背景

在本地代碼調試的時候,咱們能夠利用系統提供的hosts文件來設置一個虛擬的域名,並利用Nginx將域名解析到指定的IP地址和端口。nginx

修改hosts文件,實現域名的訪問

hosts是一個沒有擴展名的系統文件,能夠用記事本等工具打開。其做用就是將一些經常使用的網址域名與其對應的IP地址創建一個關聯「數據庫」。數據庫

當用戶在瀏覽器中輸入一個須要登陸的網址時,系統會首先自動從hosts文件中尋找對應的IP地址,一旦找到,系統會當即打開對應網頁,若是沒有找到,則系統會再將網址提交DNS域名解析服務器進行IP地址的解析。npm

知道了原理後,咱們就打開hosts文件,添加127.0.0.1 sora.com,完成IP地址(127.0.0.1)和域名(sora.com)的映射。瀏覽器

另外,或許你每次都要百度「怎麼打開hosts文件」「hosts文件在哪一個目錄下」,這裏提供一個使用命令行工具管理hosts文件的方法。服務器

首先全局安裝hosts.shmarkdown

sudo npm install --global hosts.sh
複製代碼

而後創建IP地址和URL的映射關係cookie

hosts add IP URL
複製代碼

這樣就大功告成啦✨程序的更多用法能夠參考www.npmjs.com/package/hos…app

本地啓動服務後,就能夠經過sora.com:端口號進行訪問了。在這裏,咱們假設是sora.com:9080工具

經過Nginx代理解決端口映射問題

注意到上述訪問是須要加端口號的,若是想去除端口號,須要使用Nginx把全部請求轉移到默認的80端口。oop

一個簡單的nginx配置:

//nginx.conf
server {
  listen       80;
  server_name  sora.com;
​
  location /happy-sora/ {
        proxy_pass http://localhost:9080;
        proxy_set_header   Cookie $http_cookie;
        proxy_set_header Host $host;
        proxy_set_header X-Real-IP $remote_addr;
        proxy_set_header REMOTE-HOST $remote_addr;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
  }
}
複製代碼

到這裏咱們就能夠訪問sora.com/happy-sora進行愉快地調試啦!✨

參考博客

文章大部份內容搬運自使用Hosts和Nginx把自定義域名映射到本地,本身加了一些本身額外學習到的東西,若有錯誤,還請指出~

相關文章
相關標籤/搜索