您好,登錄后才能下訂單哦!
文章來源
運維公會:nginx基于ip的虛擬主機
?
1、什么是虛擬主機
虛擬主機使用特殊的技術,將一臺運行的服務器,在邏輯上劃分成多個主機。這樣做主要是能讓一臺物理服務器上運行多個網站程序,這樣就可以利用起來服務器剩余的空間。充分發揮服務器的作用。虛擬主機間,是完全獨立的。這樣在建立網站平臺的時候,只需要使用一個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、總結
可以將許多虛擬主機寫在同一個配置文件中,但是這樣在后期維護起來會很不方便(作者深有體會,尤其是在接別人維護過的平臺的)。盡量多寫幾個配置文件,這樣看起來簡短,方便閱讀。
?
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。