1、什么是虛擬主機(jī)
虛擬主機(jī)使用特殊的技術(shù),將一臺(tái)運(yùn)行的服務(wù)器,在邏輯上劃分成多個(gè)主機(jī)。這樣做主要是能讓一臺(tái)物理服務(wù)器上運(yùn)行多個(gè)網(wǎng)站程序,這樣就可以利用起來(lái)服務(wù)器剩余的空間。充分發(fā)揮服務(wù)器的作用。虛擬主機(jī)間,是完全獨(dú)立的。
這樣在使用nginx去搭建網(wǎng)站平臺(tái)的時(shí)候,只需要使用一個(gè)nginx軟件,就能運(yùn)行多個(gè)基于ip或者基于域名的網(wǎng)站。
2、基于域名的虛擬主機(jī)
這種基于域名的虛擬主機(jī)是最常用的。基于ip的一般都是在內(nèi)網(wǎng)中使用。
(1)nginx.conf中的配置
只要在nginx.conf中添加上下邊的字段。
上邊的字段只要在http模塊中添加就可以。
然后在nginx的conf目錄中創(chuàng)建vhosts目錄,如果有就不要?jiǎng)?chuàng)建。
(2)添加虛擬主機(jī)配置文件
在vhosts目錄中添加明確的.conf配置文件,名字任意起,最好和部署的應(yīng)用有關(guān)系的名字,方便后期維護(hù)。
以之前的配置為例
server {
listen 80;
#配置監(jiān)聽(tīng)的端口,只要配置80即可,無(wú)論寫(xiě)多少個(gè)虛擬主機(jī)都用80端口
server_name ebook.yunweigonghui.com;
#這個(gè)是最主要的,配置需要的域名。
root /usr/local/ywgh/nginx/html/wp/;
#寫(xiě)清楚項(xiàng)目路徑,這個(gè)也是非常重要的,千萬(wàn)不要配置錯(cuò)。
access_log /usr/local/ywgh/nginx/logs/wp/access.log main;
#訪問(wèn)日志寫(xiě)清楚,不寫(xiě)也可以,在生產(chǎn)環(huán)境必須要配置清楚,將日志獨(dú)立出來(lái)。
location ~ \.php$ {
try_files $uri =404;
fastcgi_pass 127.0.0.1:9000;
error_log /usr/local/ywgh/nginx/logs/wp/php-error.log;
include fastcgi.conf;
fastcgi_index index.php;
}
#上邊是有關(guān)php的配置內(nèi)容。
}
上邊配置好后,重啟nginx或者reload都可以。
(3)總結(jié)
可以將許多虛擬主機(jī)寫(xiě)在同一個(gè)配置文件中,但是這樣在后期維護(hù)起來(lái)會(huì)很不方便(作者深有體會(huì),尤其是在接別人維護(hù)過(guò)的平臺(tái)的)。盡量多寫(xiě)幾個(gè)配置文件,這樣看起來(lái)簡(jiǎn)短,方便閱讀。
以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。