Nginx設定虛擬主機,nginx反向代理
Nginx設定虛擬主機
1.Nginx設定虛擬主機有那幾種方式:
基於埠號,域名和 IP地址
基於埠號配置虛擬主機
基於埠號來配置虛擬主機。原理就是Nginx監聽多個埠,根據不同的埠號,來區分不同的網站。
我們有二個位置寫配置檔案一個主檔案 etc/nginx/nginx.conf,一個子資料夾etc/nginx/conf.d/(有個預設的default.conf檔案)
我在子資料夾中重新建立一個 .conf 檔案,名字隨便起。
內容為監聽8001埠:
server{ listen 8001; server_name localhost; root /usr/share/nginx/html/html8001; index index.html; }
在建立HTML常用資料夾/usr/share/nginx/html/下,建立html用來瀏覽!而另一個.conf子檔案預設是來監聽80埠的,可根據需求做出修改!
基於IP配置虛擬主機
與埠配置方法一致,配置中用IP地址代替localhost。
server{
listen 80;
server_name 你的公網ip地址;
root /usr/share/nginx/html/html8001;
index index.html;
}
基於域名配置虛擬主機
域名個人感覺還是很便宜的,最便宜的才幾塊錢,是一年哦!作為程式設計師有自己獨特的域名,不過是學習還是測試都有所幫助,配置.conf檔案:
server{
listen 80;
server_name nginx2.ioshan.com;
location / {
root /usr/share/nginx/html/html8001;
index index.html index.htm;
}
}
用不同的域名指向服務地址的頁面,常用來訪問不同的專案,地址可以根據具體而定, 其中location / 全域性配置訪問地址,詳細頁面的資訊。
Nginx反向代理
反向代理(Reverse Proxy)方式是指以代理伺服器來接受internet上的連線請求,然後將請求轉發給內部網路上的伺服器,並將從伺服器上得到的結果返回給internet上請求連線的客戶端,此時代理伺服器對外就表現為一個反向代理伺服器。
代理就是在Client端和Server端之間增加一個提供特定功能的伺服器
反向代理的用途和好處
- 安全性:正向代理的客戶端能夠在隱藏自身資訊的同時訪問任意網站,這個給網路安全代理了極大的威脅。因此,我們必須把伺服器保護起來,使用反向代理客戶端使用者只能通過外來網來訪問代理伺服器,並且使用者並不知道自己訪問的真實伺服器是那一臺,可以很好的提供安全保護。
- 功能性:反向代理的主要用途是為多個伺服器提供負債均衡、快取等功能。負載均衡就是一個網站的內容被部署在若干伺服器上,可以把這些機子看成一個叢集,那Nginx可以將接收到的客戶端請求“均勻地”分配到這個叢集中所有的伺服器上,從而實現伺服器壓力的平均分配,也叫負載均衡。
最簡單的反向代理
現在我們要訪問http://nginx2.ioshan.com然後反向代理到ioshan.com這個網站。可以直接到.conf進行修改。
server{
listen 80;
server_name nginx2.ioshan.com;
location / {
proxy_pass http://ioshan.com;
}
}
一般我們反向代理的都是一個IP,但是我這裡代理了一個域名也是可以的。其實這時候我們反向代理就算成功了,我們可以在瀏覽器中開啟http://nginx2.ioshan.com來測試一下。文章中的域名都已經別關閉了,只是在寫文章測試用的!
其它反向代理指令
- proxy_set_header :在將客戶端請求傳送給後端伺服器之前,更改來自客戶端的請求頭資訊。
- proxy_connect_timeout:配置Nginx與後端代理伺服器嘗試建立連線的超時時間。
- proxy_read_timeout : 配置Nginx向後端伺服器組發出read請求後,等待相應的超時時間。
- proxy_send_timeout:配置Nginx向後端伺服器組發出write請求後,等待相應的超時時間。
- proxy_redirect :用於修改後端伺服器返回的響應頭中的Location和Refresh。
當然還有很多。