nginx练般、 LVS

(第十五周作業(yè))
1、LVS實現(xiàn)nat,dr服爷。

(1) LVS實現(xiàn)nat

準備三臺虛擬機ABC

A:

# yum install ipvsadm -y

B:

# yum install httpd -y

# service httpd restart

# echo "this is rs1"> /var/www/html/index.html

C:

# yum install httpd -y

# service httpd restart

# echo "this is rs2"> /var/www/html/index.html

A機做為LVS調度器杜恰,雙網(wǎng)卡,第一張網(wǎng)卡為僅主機模式仍源,配置DIP:192.168.159.130心褐,第二張網(wǎng)卡為橋接模式,配置VIP:192.168.1.6

B機做RS1镜会,單網(wǎng)卡檬寂,網(wǎng)卡為僅主機模式终抽,配置RIP:192.168.159.129 網(wǎng)關為:92.168.159.130

C機做RS2戳表,單網(wǎng)卡,網(wǎng)卡為僅主機模式昼伴,配置RIP:192.168.159.131 網(wǎng)關為:92.168.159.130

在ABC三臺機器上關閉防火墻和selinux

關閉防火墻:service firewalld stop 關閉selinux: setenforce 0

在ABC三臺機器上進行保持時間一致

# ntpdate -uasia.pool.ntp.org

在A機上打開ipforward功能

#echo 1 >/proc/sys/net/ipv4/ip_forward

在A機創(chuàng)建LVS

#ipvsadm -A -t 192.168.1.6:80 -s rr

#ipvsadm -a -t 192.168.1.6:80 -r 192.168.159.129 -m

#ipvsadm -a -t 192.168.1.6:80 -r 192.168.159.131 -m

由于在windows中的瀏覽器中一般都會有緩存匾旭,其調度可能會失效,使用Linux中的curl等命令訪問則是沒有問題的圃郊。能夠正常的實現(xiàn)調度价涝。

可以通過再創(chuàng)建一臺虛擬機,單網(wǎng)卡持舆,網(wǎng)卡為橋接模式色瘩。啟動后執(zhí)行(多次執(zhí)行)

#curlhttp://192.168.1.6

可以看到顯示內容有時顯示rs1伪窖,有時顯示rs2,次數(shù)基本一樣。使用以下命令查看調度的均衡性情況居兆。

#ipvsadm -L -n --rate

(2) LVS實現(xiàn)dr

準備三臺虛擬機ABC

A:

# yum install ipvsadm -y

B:

# yum install httpd -y

# service httpd restart

# echo "this is rs1"> /var/www/html/index.html

C:

# yum install httpd -y

# service httpd restart

# echo "this is rs2"> /var/www/html/index.html

A機做為LVS調度器 ip為:192.168.100.1

B機做RS1 ip為192.168.100.10

C機做RS2 ip為192.168.100.11

在ABC三臺機器上關閉防火墻和selinux

關閉防火墻:service firewalld stop 關閉selinux: setenforce 0

在ABC三臺機器上進行保持時間一致

# ntpdate -uasia.pool.ntp.org

在B機和C機上執(zhí)行:

# echo 1 > /proc/sys/net/ipv4/conf/lo/arp_ignore

# echo 2 > /proc/sys/net/ipv4/conf/lo/arp_announce

# echo 1 > /proc/sys/net/ipv4/conf/all/arp_ignore

# echo 2 > /proc/sys/net/ipv4/conf/all/arp_announce

vim /etc/sysconfig/network-scripts/ifcfg-lo:0

DEVICE=lo:0??

IPADDR=192.168.100.100

NETMASK=255.255.255.255

BROADCAST=192.168.100.100

ONBOOT=yes

NAME=loopback

# ifdown lo:0

# ifup lo:0

# route add -host 192.168.100.100 dev lo:0

在A機上執(zhí)行:

# vim /etc/sysconfig/network-scripts/ifcfg-eth1:0

DEVICE=eth1:0???

IPADDR=192.168.100.100??

NETMASK=255.255.255.255??

BROADCAST=192.168.100.100??

ONBOOT=yes

# ifdown eth1:0??

# ifup eth1:0

# route add -host 192.168.100.100 dev eth1:0

在A機上打開ipforward功能

#echo 1 >/proc/sys/net/ipv4/ip_forward

# ipvsadm -A -t 192.168.100.100:80 -s wlc

# ipvsadm -a -t 192.168.100.100:80 -r 192.168.100.10 -g -w 2

# ipvsadm -a -t 192.168.100.100:80 -r 192.168.100.11 -g -w 1

再創(chuàng)建一臺虛擬機覆山,啟動后執(zhí)行(多次執(zhí)行)

#curlhttp://192.168.100.100

可以看到顯示內容有時顯示rs1,有時顯示rs2,

2泥栖、nginx反向代理簇宽,虛擬主機。

(1)基本IP的虛擬主機

創(chuàng)建一個centos7.2虛擬機吧享,固定IP魏割,設置三個IP:192.168.184.136,? ? 192.168.184.160,? ? 192.168.184.161

#cd /etc/sysconfig/network-scripts/

#cp ifcfg-eno16777736 ifcfg-eno16777736.bak

#vi ifcfg-eno16777736

注釋掉

#BOOTPROTO=dhcp

尾部增加

#static

#表示該接口將通過該配置文件進行設置,而不是通過網(wǎng)絡管理器進行管理

NM_CONTROLLED=no

BOOTPROTO=static

IPADDR=192.168.184.136

IPADDR1=192.168.184.160

IPADDR2=192.168.184.161

NETMASK=255.255.255.0

GATEWAY=192.168.184.2

#vi? /etc/sysconfig/network

# Created by anaconda

NETWORKING=yes

GATEWAY=192.168.184.2

DNS1=119.29.29.29

DNS2=182.254.116.116

#service network restart

#ip a查看IP配置情況

安裝nginx

# yum install pcre-devel openssl-devel zlib-devel -y

#tar -xf nginx-1.14.2.tar.gz

#cd nginx-1.14.2

#./configure --prefix=/usr/local/nginx --conf-path=/etc/nginx/nginx.conf --error-log-path=/var/log/nginx/error.log --http-log-path=/var/log/nginx/access.log --pid-path=/var/run/nginx.pid --lock-path=/var/run/nginx.lock --user=nginx --group=nginx --with-http_ssl_module --with-http_v2_module --with-http_dav_module --with-http_stub_status_module --with-threads --with-file-aio

#make &&? ?make install

準備web網(wǎng)頁

#cd /usr/local/nginx

#cp -r html html-136

#cp -r html html-160

#cp -r html html-161

編輯在以下網(wǎng)頁內容中添加IP地址已示區(qū)別

#vi html-136/index.html

#vi html-160/index.html

#vi html-161/index.html

#cd /etc/nginx/

#cp nginx.conf nginx.conf.bak

#vi nginx.conf

server {

????????listen???????80;

????????server_name??192.168.184.136;

????????location / {

????????????root???html-136;

????????????index??index.html index.htm;

????????}

}

server{

????????listen??80;

????????server_name??192.168.184.160;

????????location / {

????????????????root html-160;

????????????????index index.html index.htm;

????????}

}

server{

????????listen 80;

????????server_name 192.168.184.161;

????????location / {

????????????????root html-161;

????????????????index index.html index.htm;

????????}

}

啟動nginx

#cd /usr/local/nginx/sbin

#./nginx

在宿主機的瀏覽器查看以下三個網(wǎng)頁钢颂,發(fā)現(xiàn)內容是不同的(因為我們前面編輯過使用三個目錄下的index.html不一樣)

http://192.168.184.136/

http://192.168.184.160/

http://192.168.184.161/

(2)基本端口的虛擬主機

基于端口的虛擬主機和基于ip的虛擬主機配置幾乎一樣钞它,只是在修改Nginx配置文件時,只修改監(jiān)聽的端口和root對應的目錄殊鞭,其他的沒有變

在前面的操作的基礎上修改配置文件须揣。

#vi /etc/nginx/nginx.conf

server {

????????listen???????80;

????????server_name??192.168.184.136;

????????location / {

????????????root???html-136;

????????????index??index.html index.htm;

????????}

}

server{

????????listen??81;

????????server_name??192.168.184.136;

????????location / {

????????????????root html-160;

????????????????index index.html index.htm;

????????}

}

server{

????????listen 82;

????????server_name 192.168.184.136;

????????location / {

????????????????root html-161;

????????????????index index.html index.htm;

????????}

}

重新加載nginx配置文件

#cd /usr/local/nginx/sbin

#./nginx -s reload

查看監(jiān)聽端口

#ss -lnt

在宿主機的瀏覽器查看以下三個網(wǎng)頁,發(fā)現(xiàn)內容是不同的(因為我們前面編輯過使用三個目錄下的index.html不一樣)

http://192.168.184.136:80/

http://192.168.184.136:81/

http://192.168.184.136:82/

(3)基本域名的虛擬主機

#vi /etc/nginx/nginx.conf

server {

????????listen???????80;

????????server_name??www.a.com;

????????location / {

????????????root???html-136;

????????????index??index.html index.htm;

????????}

}

server{

????????listen??80

????????server_name??www.b.com

????????location / {

????????????????root html-160;

????????????????index index.html index.htm;

????????}

}

server{

????????listen 80

????????server_namewww.c.com;

????????location / {

????????????????root html-161;

????????????????index index.html index.htm;

????????}

}

重新加載nginx配置文件

#cd /usr/local/nginx/sbin

#./nginx -s reload

修改宿主機的hosts文件:

C:\Windows\System32\drivers\etc\hosts

添加以下三行內容

192.168.184.136? ??www.a.com

192.168.184.136? ??www.b.com

192.168.184.136? ??www.c.com

在宿主機的瀏覽器查看以下三個網(wǎng)頁钱豁,發(fā)現(xiàn)內容是不同的(因為我們前面編輯過使用三個目錄下的index.html不一樣)

http://www.a.com

http://www.b.com

http://www.c.com

(4)nginx?反向代理

安裝jdk

上傳jdk-8u151-linux-x64.rpm

#rpm -ivh jdk-8u151-linux-x64.rpm

配置環(huán)境變量

vi? ~/.bash_profile

尾部增加以下兩行內容

export JAVA_HOME=/usr/java/jdk1.8.0_151/

export PATH=$JAVA_HOME/bin:$PATH

運行一下環(huán)境變量配置文件

. .bash_profile

上傳apache-tomcat-7.0.75.tar.gz

tar -zxf?apache-tomcat-7.0.75.tar.gz

mv?apache-tomcat-7.0.75 tomcat1

cp -r tomcat1 tomcat2

編輯在以下網(wǎng)頁內容中使其看起來有區(qū)別

vi tomcat1/webapps/ROOT/index.jsp

vi tomcat2/webapps/ROOT/index.jsp

tomcat1的端口不需要修改,但是tomcat2的端口需要修改

vi tomcat2/conf/server.xml

找到以下三行內容并修改(注意別改到注釋內容里面去耻卡,而把有效的內容漏掉修改)

<Server port="8006" shutdown="SHUTDOWN">

<Connector port="8081" protocol="HTTP/1.1"....>

<Connector port="8010" protocol="AJP/1.3" redirectPort="8443" />

啟動兩個tomcat

tomcat1/bin/startup.sh

tomcat2/bin/startup.sh

查看網(wǎng)頁是否顯示正常

http://192.168.184.136:8080

http://192.168.184.136:8081

準備好兩個tomcat環(huán)境后,編輯nginx配置文件

vi /etc/nginx/nginx.conf

http {

....

????upstream tomcat1{

????????server 192.168.184.136:8080;

????}

????upstream tomcat2{

????????server 192.168.184.136:8081;

????}

????server {

????????listen???????80;

????????server_name??192.168.184.136;

????????location / {

proxy_passhttp://tomcat1;

????????????index??index.html index.htm;

????????}

????}

????server {

????????listen???????80;

????????server_name??192.168.184.160;

????????location / {

proxy_passhttp://tomcat2;

????????????index??index.html index.htm;

????????}

????}

}

重新加載nginx配置文件

#cd /usr/local/nginx/sbin

#./nginx -s reload

在宿主機的瀏覽器查看以下兩個網(wǎng)頁牲尺,發(fā)現(xiàn)內容是不同的(因為我們前面編輯過兩個tomcat中的index.jsp)

http://192.168.184.136/

http://192.168.184.160/

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯(lián)系作者
  • 序言:七十年代末卵酪,一起剝皮案震驚了整個濱河市,隨后出現(xiàn)的幾起案子谤碳,更是在濱河造成了極大的恐慌溃卡,老刑警劉巖,帶你破解...
    沈念sama閱讀 222,590評論 6 517
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件蜒简,死亡現(xiàn)場離奇詭異瘸羡,居然都是意外死亡,警方通過查閱死者的電腦和手機搓茬,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 95,157評論 3 399
  • 文/潘曉璐 我一進店門犹赖,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人卷仑,你說我怎么就攤上這事峻村。” “怎么了锡凝?”我有些...
    開封第一講書人閱讀 169,301評論 0 362
  • 文/不壞的土叔 我叫張陵粘昨,是天一觀的道長。 經(jīng)常有香客問我,道長张肾,這世上最難降的妖魔是什么芭析? 我笑而不...
    開封第一講書人閱讀 60,078評論 1 300
  • 正文 為了忘掉前任,我火速辦了婚禮吞瞪,結果婚禮上放刨,老公的妹妹穿的比我還像新娘。我一直安慰自己尸饺,他們只是感情好进统,可當我...
    茶點故事閱讀 69,082評論 6 398
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著浪听,像睡著了一般螟碎。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上迹栓,一...
    開封第一講書人閱讀 52,682評論 1 312
  • 那天掉分,我揣著相機與錄音,去河邊找鬼克伊。 笑死酥郭,一個胖子當著我的面吹牛,可吹牛的內容都是我干的愿吹。 我是一名探鬼主播不从,決...
    沈念sama閱讀 41,155評論 3 422
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼犁跪!你這毒婦竟也來了椿息?” 一聲冷哼從身側響起,我...
    開封第一講書人閱讀 40,098評論 0 277
  • 序言:老撾萬榮一對情侶失蹤坷衍,失蹤者是張志新(化名)和其女友劉穎寝优,沒想到半個月后,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體枫耳,經(jīng)...
    沈念sama閱讀 46,638評論 1 319
  • 正文 獨居荒郊野嶺守林人離奇死亡乏矾,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內容為張勛視角 年9月15日...
    茶點故事閱讀 38,701評論 3 342
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發(fā)現(xiàn)自己被綠了迁杨。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片钻心。...
    茶點故事閱讀 40,852評論 1 353
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖仑最,靈堂內的尸體忽然破棺而出扔役,到底是詐尸還是另有隱情,我是刑警寧澤警医,帶...
    沈念sama閱讀 36,520評論 5 351
  • 正文 年R本政府宣布,位于F島的核電站,受9級特大地震影響预皇,放射性物質發(fā)生泄漏侈玄。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點故事閱讀 42,181評論 3 335
  • 文/蒙蒙 一吟温、第九天 我趴在偏房一處隱蔽的房頂上張望序仙。 院中可真熱鬧,春花似錦鲁豪、人聲如沸潘悼。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,674評論 0 25
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽治唤。三九已至,卻和暖如春糙申,著一層夾襖步出監(jiān)牢的瞬間宾添,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 33,788評論 1 274
  • 我被黑心中介騙來泰國打工柜裸, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留缕陕,地道東北人。 一個月前我還...
    沈念sama閱讀 49,279評論 3 379
  • 正文 我出身青樓疙挺,卻偏偏與公主長得像扛邑,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子铐然,可洞房花燭夜當晚...
    茶點故事閱讀 45,851評論 2 361