以前在玩虛擬主機(jī)那會(huì),主機(jī)管理用的CPanel。配置子域,建一個(gè)wordpress站點(diǎn)都是在GUI的管理界面完成,當(dāng)時(shí)很不清楚如果有多個(gè)域名、多個(gè)子域,主機(jī)空間是怎樣分配的。
后來玩上了云服務(wù)器,Amazon EC2 ,開始寫后臺(tái),知道了只要把應(yīng)用在80端口啟動(dòng),ip設(shè)為0.0.0.0,就能讓全世界的朋友看到你的作品。但還是不明白,怎樣在一個(gè)主機(jī)服務(wù)器中配置多個(gè)站點(diǎn),我知道是可以這樣玩的。
這段時(shí)間了解了nginx,猛然發(fā)現(xiàn)它是解決我疑惑的技術(shù)。了解后發(fā)現(xiàn),nginx像鐵路調(diào)度系統(tǒng),站在80路口,每一個(gè)請(qǐng)求會(huì)攜帶請(qǐng)求的目的,就是URL,像是火車的編號(hào),那個(gè)編號(hào)走那條路是由調(diào)度系統(tǒng)決定的,具體表現(xiàn)在nginx的配置文件里。
http {
server {
listen 80;
server_name domain1.com;
access_log logs/domain1.access.log main;
location / {
index index.html;
root /var/www/domain1.com/htdocs;
}
}
server {
listen 80;
server_name www.domain2.com;
access_log logs/domain2.access.log main;
location / {
index index.html;
root /var/www/domain2.com/htdocs;
}
}
}
在這個(gè)配置中,請(qǐng)求url是domain1.com
,nginx會(huì)發(fā)出位于/var/www/domain1.com/htdocs
這個(gè)目錄的文件,如果是www.domain2.com
,發(fā)出/var/www/domain2.com/htdocs
的文件,子域、其它域都是這樣分揀,如果需要發(fā)出一個(gè)服務(wù)而不是靜態(tài)文件,配置到服務(wù)的具體位置即可,這樣,不同的服務(wù)就可以指定自己的端口號(hào)了。
以上為我的粗淺理解