1、什麼是虛擬主機
虛擬主機使用特殊的技術,將一台執行的伺服器,在邏輯上劃分成多個主機。這樣做主要是能讓一台物理伺服器上執行多個**程式,這樣就可以利用起來伺服器剩餘的空間。充分發揮伺服器的作用。虛擬主機間,是完全獨立的。這樣在使用nginx去搭建**平台的時候,只需要使用乙個nginx軟體,就能執行多個基於ip或者基於網域名稱的**。
2、基於ip的虛擬主機
一般配置外網**都用網域名稱去配置虛擬主機,當我們在內網中的同乙個伺服器上邊部署多個應用的時候,可以使用ip的方式去配置虛擬主機。當然在內網配置網域名稱的也行,其實叫主機名更合適,這裡就不**了。
(1)首先在乙個伺服器上配置上虛擬ip
這步相當重要,全憑這個虛擬ip才能讓請求,到正確的應用。
下邊是linux配置虛擬ip的方法,有兩種方式去建立虛擬ip,下邊不進行詳細的講解,後邊會專門寫這兩種建立虛擬ip方法的文章。
別名ip建立方法:
ifconfig eth0:1 192.168.8.5 netmask 255.255.255.0 up
這個就是建立一塊名為eth0:1,ip為192.168.8.5,子網掩碼是255.255.255.0的虛擬網絡卡。
然後用ifconfig –a 去檢視
輔助ip建立方法:
ip addr add 192.168.40.20/24 dev eth0
這種建立後的ip,不能使用ifconfig –a去檢視,只能使用ip a去檢視。但是如果是別名ip,使用這種方法去檢視也是可以的。
想要永久生效虛擬ip,就寫到配置檔案中去。
(2)nginx.conf中的配置
只要在nginx.conf中新增上下邊的字段。
include vhosts/*.conf;
上邊的字段只要在http模組中新增就可以。
然後在nginx的conf目錄中建立vhosts目錄,如果有就不要建立。
(3)新增虛擬主機配置檔案
在vhosts目錄中新增明確的.conf配置檔案,名字任意起,最好和部署的應用有關係的名字,方便後期維護。
server1.conf
server {
listen 80;
#配置監聽的埠,只要配置80即可,無論寫多少個虛擬主機都用80埠
server_name 192.168.8.4;
#這個是最主要的,配置需要的網域名稱。
root /usr/local/nginx/html/wp1/;
#寫清楚專案路徑,這個也是非常重要的,千萬不要配置錯。
access_log /usr/local/nginx/logs/wp1/access.log main;
#訪問日誌寫清楚,不寫也可以,在生產環境必須要配置清楚,將日誌獨立出來。
location /{
index index.html index.htm;
server2.conf
server {
listen 80;
#配置監聽的埠,只要配置80即可,無論寫多少個虛擬主機都用80埠
server_name 192.168.8.5;
#這個是最主要的,配置需要的網域名稱。
root /usr/local/nginx/html/wp2/;
#寫清楚專案路徑,這個也是非常重要的,千萬不要配置錯。
access_log /usr/local/nginx/logs/wp2/access.log main;
#訪問日誌寫清楚,不寫也可以,在生產環境必須要配置清楚,將日誌獨立出來。
location /{
index index.html index.htm;
上邊配置好後,重啟nginx或者reload都可以。
(3)總結
可以將許多虛擬主機寫在同乙個配置檔案中,但是這樣在後期維護起來會很不方便(作者深有體會,尤其是在接別人維護過的平台的)。盡量多寫幾個配置檔案,這樣看起來簡短,方便閱讀。
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並進行如下...
Nginx總結(二)基於ip的虛擬主機配置
前面講了如何安裝配置nginx,大家可以去這裡看看nginx系列文章 今天要說的是nginx如何配置虛擬主機。虛擬主機是一種特殊的軟硬體技術,它可以將網路上的每一台計算機分成多個虛擬主機,每個虛擬主機可以獨立對外提供www服務,這樣就可以實現一台主機對外提供多個web服務,每個虛擬主機之間是獨立的,...