所謂虛擬主機,在web服務當中就是乙個獨立的**站點,這個站點對應獨立的網域名稱(也有可能是ip或者埠),具有獨立的程式和資源目錄,可以獨立地對外提供服務供使用者訪問。
這個獨立的站點在配置裡是由一定格式的標籤進行標記,和apache相對比,apache的虛擬主機的標籤段通常是以進行標註的,而nginx則是以server{}標籤段來標示乙個虛擬主機。乙個web服務中支援多個虛擬主機站點。
和apache一樣,虛擬主機主要有3種:
(1)基於網域名稱的虛擬主機
(2)基於埠的虛擬主機
(3)基於ip的虛擬主機
(1)基於網域名稱網域名稱的虛擬主機配置
(1)修改主配置檔案nginx.conf,載入虛擬主機配置windows下做hosts解析(2)建立虛擬主機配置檔案,並增加虛擬主機
[root@localhost conf]# mkdir vhosts && cd vhosts/
[root@localhost vhosts]# vim www.abc.org.conf
server
[root@localhost vhosts]# cp www.abc.org.conf bbs.abc.org.conf
[root@localhost vhosts]# cp www.abc.org.conf blog.abc.org.conf
[root@localhost vhosts]# vim bbs.abc.org.conf
server
[root@localhost vhosts]# vim blog.abc.org.conf
server
(3)建立虛擬主機主頁
[root@localhost vhosts]# mkdir /vhosts/html/
[root@localhost vhosts]# echo "welcome to www.abc.org" >> /vhosts/html/www/index.html
[root@localhost vhosts]# echo "welcome to bbs.abc.org" >> /vhosts/html/bbs/index.html
[root@localhost vhosts]# echo "welcome to blog.abc.org" >> /vhosts/html/blog/index.html
(4)檢查語法,過載nginx
[root@localhost vhosts]# /usr/local/nginx/sbin/nginx -t
nginx: the configuration file /usr/local/nginx1.15.1/conf/nginx.conf syntax is ok
nginx: configuration file /usr/local/nginx1.15.1/conf/nginx.conf test is successful
[root@localhost vhosts]# /usr/local/nginx/sbin/nginx -s reload
192.168.56.11 www.abc.org bbs.abc.org blog.abc.org 分別訪問
(2)基於埠的虛擬主機配置
(1)修改bbs和blog站點監聽埠以上埠可以隨意更改,但是不能和已有服務衝突,原則上應該是大於1024小於65535的任意埠[root@localhost vhosts]# vim bbs.abc.org.conf
listen
8081
;[root@localhost vhosts]# vim blog.abc.org.conf
listen
8082
[root@localhost vhosts]# export path=/usr/local/nginx/sbin/:$path
(2)檢查語法,過載nginx
[root@localhost vhosts]# nginx -t
nginx: the configuration
file /usr/local/nginx1.15.1/conf/nginx.conf syntax is ok
nginx: configuration
file /usr/local/nginx1.15.1/conf/nginx.conf test is successful
[root@localhost vhosts]# nginx -s reload
(3)測試訪問頁面
[root@localhost ~]# curl www.abc.org
welcome to www.abc.org
[root@localhost ~]# curl bbs.abc.org:8081
welcome to bbs.abc.org
[root@localhost ~]# curl blog.abc.org:8082
welcome to blog.abc.org
(3)基於ip的虛擬主機配置
(1)增加虛擬網絡卡eth0:0和eth0:1[root@localhost ~]# ifconfig eth0:0
192.168.56.110/24
up[root@localhost ~]# ifconfig eth0:1
192.168.56.111/24
up[root@localhost ~]# ifconfig eth0:0
eth0:
0: flags=4163
mtu 1500
inet
192.168.56.110 netmask 255.255.255.0 broadcast 192.168.56.255
ether
00:0c:29:ce:31:fd txqueuelen 1000
(ethernet)
[root@localhost ~]# ifconfig eth0:1
eth0:
1: flags=4163
mtu 1500
inet
192.168.56.111 netmask 255.255.255.0 broadcast 192.168.56.255
ether
00:0c:29:ce:31:fd txqueuelen 1000
(ethernet)
(2)修改虛擬主機配置server_name為ip訪問
[root@localhost vhosts]# vim bbs.abc.org.conf
listen
8081
;server_name
192.168.56.110
;[root@localhost vhosts]# vim blog.abc.org.conf
listen
8082
;server_name
192.168.56.111
;(3)檢測語法,過載nginx,測試訪問
nginx Linux 入門安裝和虛擬主機配置
是乙個使用c語言開發的高效能的http伺服器及反向 伺服器。nginx是一款高效能的http 伺服器 反向 伺服器及電子郵件 imap pop3 伺服器。由俄羅斯的程式設計師igor sysoev所開發,官方測試nginx能夠支支撐5萬併發鏈結,並且cpu 記憶體等資源消耗卻非常低,執行非常穩定。進...
nginx配置虛擬主機的三種方式
3 基於ip的虛擬主機,幾乎不用。root localhost data tree ip 基於ip index.html num 基於埠 index.html www 基於網域名稱 1.php index2.html index.html index.php 1.windows本地hosts新增虛擬...
Nginx總結(三)基於埠的虛擬主機配置
前面講了如何配置基於ip的虛擬主機,大家可以去這裡看看nginx系列文章 今天就來講講nginx如何基於埠的虛擬主機。nginx對外提供81和82兩個埠監聽服務。請求81埠則請求html81目錄下的html 請求82埠則請求html82目錄下的html 1.建立192.168.78.132虛擬機器,...