虛擬主機(jī)
什么是虛擬主機(jī)
實(shí)現(xiàn)一臺(tái)主機(jī)襟衰,對(duì)外提供多個(gè)web服務(wù),每個(gè)虛擬主機(jī)之間是獨(dú)立的,互不影響拷况。
怎么樣實(shí)現(xiàn)虛擬主機(jī)
- 綁定多IP
一塊物理網(wǎng)卡上綁定多個(gè)IP地址作煌,這樣就能夠在使用單一網(wǎng)卡的同一個(gè)服務(wù)器上運(yùn)行多個(gè)基于IP的虛擬主機(jī)。
- 實(shí)驗(yàn)
1.1 環(huán)境準(zhǔn)備赚瘦,綁定多個(gè)IP
[root@localhost network-scripts]# cp ifcfg-ens33 ifcfg-ens33:01
[root@localhost network-scripts]# vim ifcfg-ens33:01
OTPROTO=dhcp
BOOTPROTO=static
DEFROUTE=yes
IPV4_FAILURE_FATAL=no
IPV6INIT=yes
IPV6_AUTOCONF=yes
IPV6_DEFROUTE=yes
IPV6_FAILURE_FATAL=no
NAME=eno16777736
UUID=0ae9d555-0fa5-427b-a186-ffe9c2e98aa4
DEVICE=ens33:01
ONBOOT=yes
PEERDNS=yes
PEERROUTES=yes
IPV6_PEERDNS=yes
IPV6_PEERROUTES=yes
IPADDR=192.168.176.4
DNS1=192.168.176.2
復(fù)制一份網(wǎng)絡(luò)配置文件為ifcfg-ens33:01粟誓,修改DEVICE=ens33:01和IPADDR,重啟系統(tǒng)即可
1.2 配置虛擬主機(jī)
修改 /usr/local/conf/nginx.conf
server {
listen 80;
server_name 192.168.176.104;
#charset koi8-r;
#access_log logs/host.access.log main;
location / {
root /usr/local/nginx/html;
index index.html index.htm;
}
error_page 500 502 503 504 /50x.html;
location = /50x.html {
root html;
}
}
server {
listen 80;
server_name 192.168.176.4;
location / {
root /usr/local/nginx/html4;
index index.html index.htm;
}
}
- 多端口
- 需求
nginx對(duì)外提供兩個(gè)端口監(jiān)聽服務(wù)起意,請(qǐng)求80端口則請(qǐng)求html80目錄下的html鹰服,請(qǐng)求8080則是html8080目錄下的html - 配置
server {
listen 80;
server_name 192.168.176.4;
location / {
root /usr/local/nginx/html80;
index index.html index.htm;
}
}
server {
listen 8080;
server_name 192.168.176.4;
location / {
root /usr/local/nginx/html8080;
index index.html index.htm;
}
}
-
測(cè)試
- 通過域名區(qū)分
兩個(gè)域名指向同一臺(tái)nginx服務(wù)器,用戶訪問不同的域名顯示不同的網(wǎng)頁內(nèi)容揽咕。
- 需求
訪問aaa.test.com悲酷、bbb.test.com對(duì)應(yīng)192.168.176.4虛擬機(jī),出現(xiàn)不同的網(wǎng)頁 - 配置
2.1 修改主機(jī)host
C:\Windows\System32\drivers\etc
192.168.176.4 aaa.test.com
192.168.176.4 bbb.test.com
2.2 配置nginx.conf
server {
listen 192.168.176.4:80;
server_name aaa.test.com;
location / {
root /usr/local/nginx/html80;
index index.html index.htm;
}
}
server {
listen 192.168.176.4:80;
server_name bbb.test.com;
location / {
root /usr/local/nginx/html8080;
index index.html index.htm;
}
}
- 測(cè)試
nginx反向代理
什么是正向代理亲善,什么是反向代理
客戶機(jī)通過代理服務(wù)器去訪問Internet设易,幫助內(nèi)網(wǎng)client去訪問外網(wǎng)中的目的主機(jī)(正向代理);反向代理蛹头,訪問代理服務(wù)器顿肺,由代理服務(wù)器去決定外網(wǎng)的哪個(gè)服務(wù)器來處理請(qǐng)求(反向代理)。
為什么要正向代理
方便企業(yè)渣蜗、辦公管理挟冠,禁止內(nèi)網(wǎng)的訪問限制。
為什么要反向代理
負(fù)載均衡袍睡,解決服務(wù)器的壓力知染。正向代理隱藏真實(shí)客戶端,反向代理隱藏真實(shí)服務(wù)端斑胜,
實(shí)驗(yàn)
- 需求
兩個(gè)tomcat服務(wù)通過nginx代理
aaa.test.com tomcat1 192.168.176.4:8080
bbb.test.com tomcat2 192.168.176.4:8081
nginx 192.168.176.4:80 - 修改nginx.conf
upstream tomcat_server1 {
server 192.168.176.4:8080;
}
upstream tomcat_server2 {
server 192.168.176.4:8081;
}
server {
listen 80;
server_name aaa.test.com;
location / {
proxy_pass http://tomcat_server1;
index index.html index.htm;
}
}
server {
listen 80;
server_name bbb.test.com;
location / {
proxy_pass http://tomcat_server2;
index index.html index.htm;
}
}
-
測(cè)試
負(fù)載均衡
負(fù)載均衡 建立在現(xiàn)有網(wǎng)絡(luò)結(jié)構(gòu)之上控淡,它提供了一種廉價(jià)有效透明的方法擴(kuò)展網(wǎng)絡(luò)設(shè)備和服務(wù)器的帶寬、增加吞吐量止潘、加強(qiáng)網(wǎng)絡(luò)數(shù)據(jù)處理能力掺炭、提高網(wǎng)絡(luò)的靈活性和可用性。
負(fù)載均衡凭戴,英文名稱為Load Balance涧狮,其意思就是分?jǐn)偟蕉鄠€(gè)操作單元上進(jìn)行執(zhí)行,例如Web服務(wù)器么夫、FTP服務(wù)器者冤、企業(yè)關(guān)鍵應(yīng)用服務(wù)器和其它關(guān)鍵任務(wù)服務(wù)器等,從而共同完成工作任務(wù)档痪。
- 需求
aaa.test.com tomcat1 192.168.176.4:8080
bbb.test.com tomcat2 192.168.176.4:8081
nginx 192.168.176.4:80
配置負(fù)載均衡涉枫,請(qǐng)求轉(zhuǎn)發(fā)到tomcat服務(wù)器上,這里只是為了看是否分配腐螟,同一機(jī)器上起了兩個(gè)tomcat實(shí)例(端口不一樣)
通過顯示的jsp頁面來判斷是否進(jìn)行分配轉(zhuǎn)發(fā) - 修改nginx.conf
upstream tomcat_server_pool{
server 192.168.176.4:8080 weight=2;
server 192.168.176.4:8081 weight=1;
}
server {
listen 80;
server_name aaa.test.com;
location / {
proxy_pass http://tomcat_server_pool;
index index.html index.htm;
}
}
- 測(cè)試
8080顯示的jsp次數(shù)比8081端口的多