前面講了如何安裝配置nginx,大家可以去這裡看看nginx系列文章:
今天要說的是nginx如何配置虛擬主機。
虛擬主機是一種特殊的軟硬體技術,它可以將網路上的每一台計算機分成多個虛擬主機,每個虛擬主機可以獨立對外提供www服務,這樣就可以實現一台主機對外提供多個web服務,每個虛擬主機之間是獨立的,互不影響的。
如下圖:
通過nginx可以實現虛擬主機的配置,nginx支援三種型別的虛擬主機配置:
1、基於ip的虛擬主機
2、基於網域名稱的虛擬主機
3、基於埠的虛擬主機
實際使用的過程中,我們一般常用的是用網域名稱或是埠來區分web服務。只不過我這裡為了講的全面一點,會把三種配置都講一講。
nginx的配置檔案結構如下:
}每個server就是乙個虛擬主機。
linux作業系統允許新增ip別名,就是在一塊物理網絡卡上繫結多個lp位址。這樣就能夠在使用單一網絡卡的同乙個伺服器上執行多個基於ip的虛擬主機。
一台nginx伺服器繫結兩個ip:192.168.78.132、192.168.78.133,訪問不同的ip請求不同的html目錄,即:
訪問將訪問html132目錄下的html網頁
訪問將訪問html133目錄下的html網頁
建立192.168.78.132 的虛擬機器,保證本地電腦和虛擬網路通暢。
在192.168.78.132上安裝nginx。這個之前講過nginx 的原始碼安裝,大家可以去看看這篇文章:
type=ethernet2、儲存修改,重啟網路: systemctl restart networkproxy_method=none
browser_only=no
# bootproto=dhcp 注意區別!!!
defroute=yes
ipv4_failure_fatal=no
ipv6init=yes
ipv6_autoconf=yes
ipv6_defroute=yes
ipv6_failure_fatal=no
ipv6_addr_gen_mode=stable-privacy
name=ens33
uuid=26c2f3f8-62c5-4571-80e2-ca394cfd43da
device=ens33
onboot=yes
zone=public
# 注意區別
ipaddr0=192.168.78.132
prefix0=24
ipaddr1=192.168.78.133
prefix1=16
[root@bogon network-scripts]# systemctl restart network這個是參照網上的資料,不明白的可以去這裡看看具體如何操作:
進入/usr/local/nginx 目錄,將原來nginx的html目錄拷貝兩個目錄 「html132」和「html133」,為了方便測試需要修改每個目錄下的index.html內容使之個性化。
cd /usr/local/nginx修改/usr/local/nginx/conf/nginx.conf檔案,新增兩個虛擬主機,如下:cp -r html html132
cp -r html html133
}#配置虛擬主機192.168.78.133
server }}
重新啟動nginx,觀察埠監聽狀態:
訪問/
訪問/
以上,就把nginx 基於ip的配置虛擬主機講完了。後面會繼續講基於網域名稱和埠的配置。
nginx基於ip的虛擬主機
1 什麼是虛擬主機 虛擬主機使用特殊的技術,將一台執行的伺服器,在邏輯上劃分成多個主機。這樣做主要是能讓一台物理伺服器上執行多個 程式,這樣就可以利用起來伺服器剩餘的空間。充分發揮伺服器的作用。虛擬主機間,是完全獨立的。這樣在使用nginx去搭建 平台的時候,只需要使用乙個nginx軟體,就能執行多...
Nginx配置基於ip的虛擬主機
我是在centos7虛擬機器上進行實驗的 該實驗基於新增好ip的基礎上,如何給網絡卡新增ip請查閱我的部落格 先來看一下我的ip root localhost nginx ifconfig ens33 flags 4163 mtu 1500 inet 192.168.3.128 netmask 25...
nginx基於網域名稱 ip或者埠的虛擬主機配置
1.首先先關閉防火牆和selinux,然後測試nginx是否能正常啟動,網頁是否能訪問到。2.基於網域名稱的虛擬主機 配置通過網域名稱區分的虛擬機器 root localhost nginx 1.16.1 vim etc nginx nginx.conf 進入配置檔案 然後找到server並進行如下...