文章目錄
- 一、概述
- 二、配置虛擬主機方式
- 方法一:基于埠的虛擬主機(了解)
- 方法二:基于域名的虛擬主機(掌握)
- 三、虛擬主機案例,模擬城市站點網站(我們配置三個城市站點)
- 3.1架構圖
- 3.2 實作步驟
- 3.2.1 配置3個Tomcat,每個Tomcat一個站點專案
- 3.2.2 修改tomcat9300的埠號(修改server.xml檔案)
- 3.2.3在Xshell中開啟三個選項卡,分別操作三個tomcat
- 3.2.4清空三個tomcat的webapps/ROOT目錄
- 3.2.5使用Xftp將三個war包上傳到三個tomcat的ROOT目錄
- 3.2.6在tomcat啟動前,使用unzip命令,直接解壓三個war包,否則tomcat啟動的時候,自動解壓,還是有一個背景關系目錄的
- 3.2.7啟動三個tomcat
- 3.2.8在nginx.conf中配置3個Nginx虛擬主機
- 方式一:直接在nginx.conf中配置
- 方式二:通過單獨的組態檔配置虛擬主機
- 3.2.9 在nginx.conf中配置每個虛擬主機請求轉發所對應的后端服務器(負載均衡,可以配置多個服務器)
- 3.2.10 修改hosts檔案,讓Linux的ip指向到三個站點的域名
- 3.2.11 重啟nginx,通過瀏覽器訪問nginx進行測驗
- 3.2.12 通過單獨的組態檔配置虛擬主機,然后再nginx.conf中引入(參照步驟2的方式二)
一、概述
虛擬主機,就是把一臺物理服務器劃分成多個“虛擬”的服務器,這樣我們的一臺物理服務器就可以當做多個服務器來使用,從而可以配置多個網站,
Nginx提供虛擬主機的功能,就是為了讓我們不需要安裝多個Nginx,就可以運行多個域名不同的網站,
Nginx下,一個server標簽就是一個虛擬主機,nginx的虛擬主機就是通過nginx.conf中server節點指定的,想要設定多個虛擬主機,配置多個server節點即可;
例如:www.meituan.com 切換城市,可以看到不同的城市地址不一樣(二級域名)
比如一個公司有多個二級域名,沒有必要為每個二級域名都提供一臺Nginx服務器,就可以使用虛擬主機技術,在一臺nginx服務器上,模擬多個虛擬服務器,
二、配置虛擬主機方式
方法一:基于埠的虛擬主機(了解)
基于埠的虛擬主機配置,使用埠來區分
瀏覽器使用 同一個域名+埠 或 同一個ip地址+埠訪問;
server {
listen 8080;
server_name www.myweb.com;
location /myweb {
proxy_pass http://www.myweb.com;
}
}
server {
listen 9090;
server_name www.myweb.com;
location /p2p {
proxy_pass http://www.p2p.com;
}
}
方法二:基于域名的虛擬主機(掌握)
基于域名的虛擬主機是最常見的一種虛擬主機
server {
listen 80;
server_name www.myweb.com;
location /myweb {
proxy_pass http://www. myweb.com;
}
}
server {
listen 80;
server_name www.p2p.com;
location /myweb {
proxy_pass http://www.p2p.com;
}
}
Windows:
需要修改一下本地的hosts檔案,檔案位置:C:\Windows\System32\drivers\etc\hosts
在hosts檔案配置:
192.168.208.128 www.myweb.com
192.168.208.128 www.p2p.com
前面是Linux的IP,后面是你自定義的域名
三、虛擬主機案例,模擬城市站點網站(我們配置三個城市站點)
3.1架構圖

3.2 實作步驟
3.2.1 配置3個Tomcat,每個Tomcat一個站點專案
部署在Tomcat的ROOT目錄下,目的是訪問的時候不用加背景關系根,測驗方便
拷貝一個新的tomcat9300

3.2.2 修改tomcat9300的埠號(修改server.xml檔案)

3.2.3在Xshell中開啟三個選項卡,分別操作三個tomcat

3.2.4清空三個tomcat的webapps/ROOT目錄


3.2.5使用Xftp將三個war包上傳到三個tomcat的ROOT目錄
beijing.war上傳到tomcat9100服務器上


3.2.6在tomcat啟動前,使用unzip命令,直接解壓三個war包,否則tomcat啟動的時候,自動解壓,還是有一個背景關系目錄的

在tomcat9200和9300上執行相同的操作
3.2.7啟動三個tomcat



3.2.8在nginx.conf中配置3個Nginx虛擬主機
方式一:直接在nginx.conf中配置
在nginx.conf檔案添加三個server節點,用于配置三個虛擬主機
server {
listen 80;
server_name beijing.myweb.com;
location / {
proxy_pass http://beijing.myweb.com;
}
}
server {
listen 80;
server_name nanjing.myweb.com;
location / {
proxy_pass http://nanjing.myweb.com;
}
}
server {
listen 80;
server_name tianjin.myweb.com;
location / {
proxy_pass http://tianjin.myweb.com;
}
}

方式二:通過單獨的組態檔配置虛擬主機
通過include的方式引入虛擬主機配置
include /usr/local/nginx/conf/vhost/vhost.conf;
將虛擬目錄的組態檔加入到”http {}”部分的末尾,與其他server并列;
檔案是隔開的,配置更清晰,主檔案沒有那么多是server
3.2.9 在nginx.conf中配置每個虛擬主機請求轉發所對應的后端服務器(負載均衡,可以配置多個服務器)
upstream beijing.myweb.com {
server 127.0.0.1:9100;
}
upstream nanjing.myweb.com {
server 127.0.0.1:9200;
}
upstream tianjin.myweb.com {
server 127.0.0.1:9300;
}

3.2.10 修改hosts檔案,讓Linux的ip指向到三個站點的域名
C:\Windows\System32\drivers\etc\hosts
192.168.235.128 beijing.myweb.com
192.168.235.128 nanjing.myweb.com
192.168.235.128 tianjin.myweb.com
3.2.11 重啟nginx,通過瀏覽器訪問nginx進行測驗


3.2.12 通過單獨的組態檔配置虛擬主機,然后再nginx.conf中引入(參照步驟2的方式二)
?在/usr/local/nginx/conf目錄下,創建vhost目錄,并創建vhost.conf檔案,在其中配置虛擬主機資訊

轉載請註明出處,本文鏈接:https://www.uj5u.com/ruanti/348328.html
標籤:其他
下一篇:上億用戶量負載均衡架構決議
