深入淺析Nginx虛擬主機
一 虛擬主機
1.1 虛擬主機概念
對于Nginx而言,每一個虛擬主機相當于一個在同一臺服務器中卻相互獨立的站點,從而實現(xiàn)一臺主機對外提供多個 web 服務,每個虛擬主機之間是獨立的,互不影響的。
1.2 虛擬主機類型
通過 Nginx 可以實現(xiàn)虛擬主機的配置,Nginx 支持三種類型的虛擬主機配置:
- 基于 IP 的虛擬主機(較少使用)
- 基于域名的虛擬主機
- 基于端口的虛擬主機
二 基于IP虛擬主機
2.1 配置多IP地址
[root@nginx ~]# ifconfig eth0:0 172.24.8.70 broadcast 172.24.8.255 netmask 255.255.255.0 [root@nginx ~]# ip addr | grep 172 inet 172.24.8.71/24 brd 172.24.8.255 scope global noprefixroute eth0 inet 172.24.8.72/24 brd 172.24.8.255 scope global secondary eth0:0
提示:如上在同一臺主機添加多個IP地址。
2.2 創(chuàng)建站點目錄
[root@nginx ~]# mkdir /usr/share/nginx/ipvhost01/ [root@nginx ~]# mkdir /usr/share/nginx/ipvhost02/ [root@nginx ~]# echo '<h1>Ipvhost01</h1>' > /usr/share/nginx/ipvhost01/index.html [root@nginx ~]# echo '<h1>Ipvhost02</h1>' > /usr/share/nginx/ipvhost02/index.html
2.3 配置虛擬主機
[root@nginx ~]# vi /etc/nginx/conf.d/ipvhost.conf
server {
listen ; #監(jiān)聽端口
server_name ipvhost.odocker.com ...; #配置虛擬主機名和IP
location / {
root /usr/share/nginx/ipvhost; #請求匹配路徑
index index.html; #指定主頁
access_log /var/log/nginx/ipvhost.access.log main;
error_log /var/log/nginx/ipvhost.error.log warn;
}
}
server {
listen ;
server_name ipvhost.odocker.com ...;
location / {
root /usr/share/nginx/ipvhost;
index index.html;
access_log /var/log/nginx/ipvhost.access.log main;
error_log /var/log/nginx/ipvhost.error.log warn;
}
}
[root@nginx ~]# nginx -t -c /etc/nginx/nginx.conf #檢查配置文件 [root@nginx ~]# nginx -s reload #重載配置文件
2.4 確認驗證
瀏覽器訪問:ipvhost01.odocker.com。
clipboard
瀏覽器訪問:ipvhost02.odocker.com。
clipboard
三 基于域名虛擬主機
3.1 創(chuàng)建站點目錄
[root@nginx ~]# mkdir /usr/share/nginx/webvhost01/ [root@nginx ~]# mkdir /usr/share/nginx/webvhost02/ [root@nginx ~]# echo '<h1>Webvhost01</h1>' > /usr/share/nginx/webvhost01/index.html [root@nginx ~]# echo '<h1>Webvhost02</h1>' > /usr/share/nginx/webvhost02/index.html
3.2 配置虛擬主機
[root@nginx ~]# vi /etc/nginx/conf.d/webvhost.conf
server {
listen ;
server_name webvhost.odocker.com;
location / {
root /usr/share/nginx/webvhost;
index index.html;
access_log /var/log/nginx/webvhost.access.log main;
error_log /var/log/nginx/webvhost.error.log warn;
}
}
server {
listen ;
server_name webvhost.odocker.com;
location / {
root /usr/share/nginx/webvhost;
index index.html;
access_log /var/log/nginx/webvhost.access.log main;
error_log /var/log/nginx/webvhost.error.log warn;
}
}
[root@nginx ~]# nginx -t -c /etc/nginx/nginx.conf #檢查配置文件 [root@nginx ~]# nginx -s reload #重載配置文件
3.3 確認驗證
瀏覽器訪問:webvhost01.odocker.com。
clipboard
瀏覽器訪問:webvhost02.odocker.com。
clipboard
四 基于端口虛擬主機
4.1 創(chuàng)建站點目錄
[root@nginx ~]# mkdir /usr/share/nginx/portvhost01/ [root@nginx ~]# mkdir /usr/share/nginx/portvhost02/ [root@nginx ~]# echo '<h1>Portvhost01</h1>' > /usr/share/nginx/portvhost01/index.html [root@nginx ~]# echo '<h1>Portvhost01</h1>' > /usr/share/nginx/portvhost02/index.html
4.2 配置虛擬主機
[root@nginx ~]# vi /etc/nginx/conf.d/portvhost.conf
server {
listen ;
server_name portvhost.odocker.com;
location / {
root /usr/share/nginx/portvhost;
index index.html;
access_log /var/log/nginx/portvhost.access.log main;
error_log /var/log/nginx/portvhost.error.log warn;
}
}
server {
listen ;
server_name portvhost.odocker.com;
location / {
root /usr/share/nginx/portvhost;
index index.html;
access_log /var/log/nginx/access_portvhost.log main;
}
}
[root@nginx ~]# nginx -t -c /etc/nginx/nginx.conf #檢查配置文件 [root@nginx ~]# nginx -s reload #重載配置文件
4.3 確認驗證
瀏覽器訪問:portvhost01.odocker.com:8080
clipboard
瀏覽器訪問:portvhost02.odocker.com:8081
clipboard
到此這篇關于Nginx虛擬主機的文章就介紹到這了,更多相關Nginx虛擬主機內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!
相關文章
Windows環(huán)境下Nginx?服務器?SSL?證書安裝部署操作過程
這篇文章主要介紹了Windows環(huán)境下Nginx?服務器?SSL?證書安裝部署,指導您如何在Windows Nginx 服務器中安裝 SSL 證書,本文給大家講解的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下2022-10-10
Nginx的location的常見規(guī)則優(yōu)先級問題
Nginx是反向代理和負載均衡的首選工具,nginx的location配置有許多細節(jié)內(nèi)容在網(wǎng)上不容易找到資料,或者解釋不清。本文對Nginx location規(guī)則優(yōu)先級介紹,需要的朋友參考下吧2021-08-08
Nginx結(jié)合Openresty通過Lua+Redis實現(xiàn)動態(tài)封禁IP
為了封禁某些爬蟲或者惡意用戶對服務器的請求,我們需要建立一個動態(tài)的 IP 黑名單,本文主要介紹了Nginx結(jié)合Openresty通過Lua+Redis實現(xiàn)動態(tài)封禁IP,感興趣的可以了解一下2023-11-11

