nginx基於IP 端口 域名

利用虛擬主機技術能夠把一臺真正的主機分紅許多"虛擬"的主機,每一臺虛擬主機都具備獨立的域名和IP地址,具備完整的Internet服務器(www, FTP,email)功能。 虛擬主機之間徹底獨立,在外界看來,每一臺虛擬主機和一***立的主機徹底同樣。效果同樣但費用卻大不同了。因爲多臺 虛擬主機 共享一臺真實主機的資源,每一個 虛擬主機用戶承受的硬件費用、網絡維護費用、通訊線路的費用均大幅度下降,Internet真正成爲人人用得起的網絡!php


虛擬主機共分爲三種:基於IP的虛擬主機基於端口的虛擬主機基於名稱的虛擬主。前兩種因爲受到成本和客戶使用習慣的限制,相對使用的沒有基於名稱的虛擬主機多,
如下咱們介紹一下三種虛擬主機的配置。
Nginx基於名稱的虛擬主機配置:
server {
listen 80;
server_name www.example.com;
...
}
server {
listen 80;
server_name www.test.com;
...
}
server {
listen 80 default;
...
}
上述配置中, 定義了三個虛擬主機。前兩個server, 經過域名「www.example.com」 和 「www.test.com」 能夠分別訪問正確的網站。若是瀏覽器直接經過IP地址或者其餘指向這臺機器的域名訪問, 那麼訪問到的是第三個server配置。第三個server爲一個默認配置, 請注意它沒有「server_name」指令, 而且「listen」指令包含一個「default」關鍵字。html


Nginx基於IP的虛擬主機
[root@server nginx]# vi /usr/local/nginx/conf/nginx.conf
server {
listen 10.0.0.88:80;
root 88.com;
index index.html;
}
server {
listen 10.0.0.87:80;
root 87.com;
index index.html;
}
[root@server nginx]# ifconfig eth0:0 10.0.0.88
[root@server nginx]# ifconfig eth0:1 10.0.0.87
[root@server nginx]# mkdir /usr/local/nginx/88.com
[root@server nginx]# echo 'I am your father' > /usr/local/nginx/88.com/index.html
[root@server nginx]# mkdir /usr/local/nginx/87.com
[root@server nginx]# echo 'this is 87.com' > /usr/local/nginx/87.com/index.html
以上配置了兩臺虛擬主機,一臺IP爲10.0.0.88,另外一臺爲10.0.0.87。它們都監聽80端口。根據訪問的IP地址不一樣,返回不一樣網站內容。nginx


Nginx基於端口的虛擬主機
[root@server nginx]# vi /usr/local/nginx/conf/nginx.conf
server {
listen 80;
root 80.com;
}
server {
listen 8080;
root 8080.com;
}
[root@server nginx]# mkdir /usr/local/nginx/80.com
[root@server nginx]# mkdir /usr/local/nginx/8080.com
[root@server nginx]# echo 'this is 80.com' > /usr/local/nginx/80.com/index.html
[root@server nginx]# echo 'this is 8080.com' > /usr/local/nginx/8080.com/index.html
以上配置了兩臺虛擬主機,一臺使用相同IP。一臺使用80端口,另外一臺使用8080端
口。訪問8080端口時須要在URL後加上 :8080 。瀏覽器

相關文章
相關標籤/搜索