在部署環境的時候,有時候會引用到虛擬主機的概念,什麼是虛擬主機呢,博主之前一直把虛擬主機的概念沒搞清楚,導致在部署的時候,一直動不動就404 ,或者500,或者伺服器不通 所以,什麼是虛擬主機呢? 虛擬主機概念大致同虛擬機的概念。 如果你有兩個不同功能變數名稱的網站,但是你只有一臺伺服器,這時候怎麼辦?其實 ...
在部署環境的時候,有時候會引用到虛擬主機的概念,什麼是虛擬主機呢,博主之前一直把虛擬主機的概念沒搞清楚,導致在部署的時候,一直動不動就404 ,或者500,或者伺服器不通
所以,什麼是虛擬主機呢? 虛擬主機概念大致同虛擬機的概念。
如果你有兩個不同功能變數名稱的網站,但是你只有一臺伺服器,這時候怎麼辦?其實利用nginx或者apache都可以幫你用一臺機器來模擬多台機器作為伺服器提供服務。
虛擬主機,就是把一臺物理伺服器劃分成多個“虛擬”的伺服器,每一個虛擬主機都可以有獨立的功能變數名稱和獨立的目錄
nginx的虛擬主機就是通過nginx.conf中server節點指定的,想要設置多個虛擬主機,配置多個server節點即可
先看一個最簡單的虛擬主機配置示例
server {
listen 80;
server_name a.test.com;
location / {
index index.html;
root /home/www/host_a/;
}
}
listen 80;
指定這個虛擬主機監聽的是80埠
server_name a.test.com;
指定這個虛擬主機名為a.test.com,當用戶訪問a.test.com時,就有這個虛機主機進行處理。
多台虛擬主機
(1)對兩個功能變數名稱配置相應的虛擬主機,指定不同的目錄
a.test.com -> /home/www/a
b.test.com -> /home/www/b
配置
server {
listen 80;
server_name a.test.com;
#開啟網站目錄文件列表功能,訪問目錄時列出其中的文件列表,預設不開啟
autoindex on;
index index.html;
root /home/www/a/;
}
server {
listen 80;
server_name b.test.com;
index index.html;
root /home/www/b/;
#禁止對self目錄的訪問
location /(self)/ {
deny all;
}
}