nginx系列 03 虛擬主機的配置

2021-07-24 00:02:36 字數 3927 閱讀 5224

基於網域名稱的虛擬主機

基於埠的虛擬主機

* 以下所有的測試都是在centos6系統上進行的 *

虛擬主機當然是虛擬的主機而非真正意義上的物理主機。

他是利用軟硬體技術,將一台真正的物理主機分成一台臺虛擬主機。

在」瀏覽器」看來,每台虛擬主機和真正的物理主機沒什麼區別。這裡所說的」瀏覽器」指的是廣義上的一切訪問者。

虛擬主機從實現的技術不同可以分為以下三類:

基於unix發展而來的系統,一般都支援在一塊網絡卡上繫結多個ip位址。也就是所謂的ip別名了。

此處本人給該主機新增兩個額外的ip位址

ifconfig eth0:1

192.168.161.127 broadcast 192.168.161.255 netmask 255.255.255.0 up

route add -host 192.168.161.127 dev eth0:1

ifconfig eth0:2

192.168.161.126 broadcast 192.168.161.255 netmask 255.255.255.0 up

route add -host 192.168.161.126 dev eth0:2

此時的ip資訊如下

[root@h1 nginx]# ifconfig 

# 原來就有的ip

eth0

link

encap:

ethernet

hwaddr

00:0c:

29:d5

:a3:

78

inet addr:

192.168.161.128

bcast

:192.168.161.255

mask

:255.255.255.0

inet6 addr:

fe80::20

c:29

ff:fed5:a378/64

scope

:link

upbroadcast

running

multicast

mtu:

1500

metric:1

rxpackets:

1740

errors:

0dropped:

0overruns:

0frame:0tx

packets:

857errors:

0dropped:

0overruns:

0carrier:

0collisions:

0txqueuelen:

1000

rxbytes:

143515 (140.1

kib) tx

bytes:

122079 (119.2

kib)

# 新新增的

eth0:

1link

encap:

ethernet

hwaddr

00:0c:

29:d5

:a3:

78

inet addr:

192.168.161.127

bcast

:192.168.161.255

mask

:255.255.255.0

upbroadcast

running

multicast

mtu:

1500

metric:1

# 新新增的

eth0:

2link

encap:

ethernet

hwaddr

00:0c:

29:d5

:a3:

78

inet addr:

192.168.161.126

bcast

:192.168.161.255

mask

:255.255.255.0

upbroadcast

running

multicast

mtu:

1500

metric:1

# 本地回環位址

lo link

encap:

local

loopback

inet addr:

127.0.0.1

mask

:255.0.0.0

inet6 addr:::

1/128

scope

:host

uploopback

running

mtu:

65536

metric:1

rxpackets:

0errors:

0dropped:

0overruns:

0frame:0tx

packets:

0errors:

0dropped:

0overruns:

0carrier:

0collisions:

0txqueuelen:0rx

bytes:

0 (0.0 b) tx

bytes:

0 (0.0 b)

編輯配置檔案/etc/nginx/nginx.conf

server  

}server

}server

}

建立目錄結構

[root@h1 /]# tree web -l 3

web└── html

├── 1

│   └── index.html

├── 2

│   └── index.html

└── 3

└── index.html

測試

分別用瀏覽器訪問:

另外,眾所周知,ipv4位址總共就40多億個。

這種基於ip的虛擬主機,如果在內網使用,倒是還蠻不錯的。

如果一旦放到公網,這ip位址就……

此處由於本人沒有公網主機ip,即使是有個網域名稱也是白搭。

所有此處就暫時修改hosts檔案來弄個虛假的網域名稱試試了。

在hosts檔案加入如下內容

192.168

.161

.128 www.hylexus

.com hylexus.com aaa.hylexus

.com bbb.hylexus

.com

# 處理二級網域名稱aaa.hylexus.com的請求

server

}# 處理二級網域名稱bbb.hylexus.com的請求

server

}# 處理網域名稱www.hylexus.com,hylexus.com,和除了/hylexus.com的請求

server

}

網域名稱也不是很貴,看你要什麼樣的了。有一年兩塊錢的也有上萬的。

只要有個網域名稱和公網主機ip就好辦了。乙個ip就可以為多個網域名稱服務了。

買個網域名稱一般要比搞個公網ip划算多了啊。

這種基於網域名稱的虛擬主機也是最常見的。

比如:

server

}server

}server

}

03 nginx虛擬主機配置

nginx的配置段比apache簡單。好的伺服器都有4塊cpu,每塊cpu是8核,最多有32個核工作。比如我的是4核pc,所以把worker processes設定為4,再多意義也不大。後面還要講nginx的優化,只改worker connections意義不大,還需要和系統的一些引數配合才行。4塊...

nginx虛擬主機

利用虛擬主機,不同為每個要執行的 提供一台單獨的nginx伺服器或單獨執行一組nginx程序。虛擬主機提供了在同一臺伺服器 同一組nginx程序上執行多個 的功能。在nginx配置檔案nginx.conf中,乙個最簡化的虛擬主機配置 如下 server 可以在一塊物理網絡卡上繫結多個lp位址。這樣就...

nginx虛擬主機

虛擬主機 有的 訪問量大,需要負載均衡。然而並不是所有 都如此出色,有的 由於訪問量太小,需要節省成本,將多個 部署在同一臺伺服器上。例如將www.aaa.com和www.bbb.com兩個 部署在同一臺伺服器上,兩個網域名稱解析到同乙個ip位址,但是使用者通過兩個網域名稱卻可以開啟兩個完全不同的 ...