Nginx總結(二)基於ip的虛擬主機配置

2022-07-03 09:45:12 字數 2325 閱讀 3147

前面講了如何安裝配置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=ethernet

proxy_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

2、儲存修改,重啟網路: systemctl restart network

[root@bogon network-scripts]# systemctl restart network
這個是參照網上的資料,不明白的可以去這裡看看具體如何操作:

進入/usr/local/nginx 目錄,將原來nginx的html目錄拷貝兩個目錄 「html132」和「html133」,為了方便測試需要修改每個目錄下的index.html內容使之個性化。

cd /usr/local/nginx

cp -r html html132

cp -r html html133

修改/usr/local/nginx/conf/nginx.conf檔案,新增兩個虛擬主機,如下:

}#配置虛擬主機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並進行如下...