上一篇 Nginx 配置文件
Nginx 虛擬主機(jī)配置
?虛擬主機(jī)是一種特殊的軟硬件技術(shù),它可以將一臺(tái)服務(wù)器分成多個(gè)虛擬的服務(wù)器,每個(gè)虛擬主機(jī)可以獨(dú)立對(duì)外提供www服務(wù),這樣就可以實(shí)現(xiàn)一臺(tái)主機(jī)對(duì)外提供多個(gè)web服務(wù),每個(gè)虛擬主機(jī)之間是獨(dú)立的,互不影響的
?可以通過 nginx 進(jìn)行虛擬主機(jī)的配置,只需要在 http {}
中添加一個(gè) server {}
模塊即可更耻。nginx 虛擬主機(jī)的配置理郑,一般分為三種:域名痢士、端口和 ip髓帽。
基于域名
# 基于域名的虛擬主機(jī)配置
# 域名為 domain.cm
server {
server_name domain.cm *.domain.cm www.domain.*;
root html;
index index.html index.htm /index.php;
}
# 域名為 domain.cn
server {
server_name domain.cn;
root /var/web/;
index index.html;
}
server_name
指定虛擬主機(jī)的名字渊啰「炻可以指定多個(gè)名稱麸粮,第一個(gè)為虛擬主機(jī)的名字〕曷耍可以使用 “ * ” 替代服務(wù)器名稱的開始或者最后部分签餐。root
設(shè)置請(qǐng)求的根目錄,可以用絕對(duì)路徑或相對(duì)路徑盯串,如root html;
會(huì)等于root /usr/local/nginx/html;
氯檐。而這樣設(shè)置,當(dāng)收到一個(gè) domain.cm/index.html 請(qǐng)求時(shí)体捏,/usr/local/nginx/html/index.html 文件將會(huì)被發(fā)送在響應(yīng)中響應(yīng)該請(qǐng)求冠摄。index
定義將用做索引的文件。文件名稱可以包含變量几缭,按照指定的順序進(jìn)行文件檢查的河泳,最后一個(gè)參數(shù)可以是絕對(duì)路徑。實(shí)際上 domain.cm 請(qǐng)求會(huì)被處理成 domain.cm/index.html 年栓。
?基于域名的虛擬主機(jī)配置拆挥,指定了虛擬主機(jī)名稱、請(qǐng)求根目錄和索引某抓。在 nginx 配置文件中添加如上配置(添加 http {}
中)保存纸兔、重新加載配置文件 ( systemctl reload nginx
),這里使用虛擬機(jī)測(cè)試否副,需要在物理機(jī)的 hosts 文件中修改配置汉矿,如下 :
# ip 為自己虛擬機(jī)ip地址
192.168.107.156 domain.cm
192.168.107.156 domain.cn
?在 /var/web/ 目錄(沒有該目錄就新建一個(gè))中新建一個(gè) index.html,內(nèi)容如下:
<html>
<head>
<title>hostname</title>
</head>
<body>
domain cn
</body>
</html>
?之后在瀏覽器中輸入 domain.cm 即可看到 nginx 的 “ Welcome to nginx! ” 頁面副编。輸入 domain.cn 則可以看到頁面顯示 “ domain cn ”
基于端口
?添加以下配置
# 基于端口虛擬主機(jī)配置
server {
listen 8888;
server_name domain.cm;
root /var/web/port/;
index index.html;
}
? listen
設(shè)置 IP 的地址和端口(可以只設(shè)置地址或只設(shè)置端口负甸,地址可以是主機(jī)名)流强,或者設(shè)置一個(gè)服務(wù)器用于接收請(qǐng)求的套接字路徑痹届,如下:
listen 127.0.0.1:8000;
listen 127.0.0.1;
listen 8000;
listen *:8000;
listen localhost:8000;
listen unix:/var/run/nginx.sock;
?添加 /var/web/port/index.html 文件呻待,如下:
<html>
<head>
<title>port</title>
</head>
<body>
domain cm 8888
</body>
</html>
?執(zhí)行 systemctl reload nginx
并訪問 domain.cm:8888 可以看到頁面中顯示的內(nèi)容正是 /var/web/port/index.html 的內(nèi)容 “ domain cm 8888 ”。
基于ip
?添加以下配置
# 基于 ip 地址的虛擬主機(jī)配置
server {
listen 80;
server_name 192.168.107.156;
root /var/web/ip/;
index index.html;
}
?添加 /var/web/ip/index.html 文件队腐,如下:
<html>
<head>
<title>ip</title>
</head>
<body>
ip 192.168.107.156
</body>
</html>
?systemctl reload nginx
并訪問 192.168.107.156 可以看到頁面中顯示的內(nèi)容正是 /var/web/ip/index.html 的內(nèi)容 “ ip 192.168.107.156 ”蚕捉。
?以上就是關(guān)于 nginx 虛擬主機(jī)配置的內(nèi)容。
參考
下一篇 Nginx location