1. 程式人生 > >基礎運維:基於IP實現網頁分流

基礎運維:基於IP實現網頁分流

cgi blog loopback leo root local 重啟nginx sgi gate

一、說明

想要流量分流,在一個接口上設置多IP的方式,是可以實現的,在互聯網上需要訪問的域名,一般人並不知道什麽是IP,就是知道IP,可能他們理解的IP(知識財產權)跟你理解的IP(互聯網協議)並不一樣。基於IP的分流,目的在於訪問這些IP時打開的網頁是一致的。分流網頁有很多種,這只是其中的一種而已。

二、多IP設置

1.復制網絡配置文件

[root@leo ~]# cd /etc/sysconfig/network-scripts/
[root@leo network-scripts]# ls
ifcfg-ens33  ifdown-isdn      ifdown-tunnel  ifup-isdn    ifup-Team
ifcfg-lo     ifdown-post      ifup           ifup-plip    ifup-TeamPort
ifdown       ifdown-ppp       ifup-aliases   ifup-plusb   ifup-tunnel
ifdown-bnep  ifdown-routes    ifup-bnep      ifup-post    ifup-wireless
ifdown-eth   ifdown-sit       ifup-eth       ifup-ppp     init.ipv6-global
ifdown-ippp  ifdown-Team      ifup-ippp      ifup-routes  network-functions
ifdown-ipv6  ifdown-TeamPort  ifup-ipv6      ifup-sit     network-functions-ipv6
[root@leo network-scripts]# cp ifcfg-ens33 ifcfg-ens33:1

2.修改配置文件

[root@leo network-scripts]# vim ifcfg-ens33:1
TYPE="Ethernet"
BOOTPROTO="dhcp"
NAME="ens33:1"
DEVICE="ens33:1"
ONBOOT="yes"
IPADDR=192.168.116.100
PREFIX=24
GATEWAY=192.168.116.255
[root@leo network-scripts]# 

3.重啟網絡服務

[root@leo network-scripts]# systemctl restart network
[root@leo network-scripts]# ip a
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
    inet 127.0.0.1/8 scope host lo
       valid_lft forever preferred_lft forever
    inet6 ::1/128 scope host 
       valid_lft forever preferred_lft forever
2: ens33: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP group default qlen 1000
    link/ether 00:0c:29:47:c4:9f brd ff:ff:ff:ff:ff:ff
    inet 192.168.116.129/24 brd 192.168.116.255 scope global noprefixroute dynamic ens33
       valid_lft 1798sec preferred_lft 1798sec
    inet 192.168.116.100/24 brd 192.168.116.255 scope global secondary noprefixroute ens33:1
       valid_lft forever preferred_lft forever
    inet6 fe80::ab30:473d:fe9e:9d7e/64 scope link noprefixroute 
       valid_lft forever preferred_lft forever
[root@leo network-scripts]# 

4.本地測試網絡連通性

[C:\~]$ ping 192.168.116.100
正在 Ping 192.168.116.100 具有 32 字節的數據:
來自 192.168.116.100 的回復: 字節=32 時間<1ms TTL=64
來自 192.168.116.100 的回復: 字節=32 時間<1ms TTL=64
來自 192.168.116.100 的回復: 字節=32 時間<1ms TTL=64
來自 192.168.116.100 的回復: 字節=32 時間<1ms TTL=64

192.168.116.100 的 Ping 統計信息:
    數據包: 已發送 = 4,已接收 = 4,丟失 = 0 (0% 丟失),
往返行程的估計時間(以毫秒為單位):
    最短 = 0ms,最長 = 0ms,平均 = 0ms
[C:\~]$ 

三、網頁分流

1.設置網頁

[root@leo nginx]# mkdir /server/web/test1
[root@leo nginx]# mkdir /server/web/test2
[root@leo nginx]# mv /server/web/
index.html  test1/      test2/      
[root@leo nginx]# cp /server/web/index.html  /server/web/test1/
[root@leo nginx]# cp /server/web/index.html  /server/web/test2/
[root@leo nginx]# cat /server/web/index.html 
<h1 align=center>vhost</h1>
[root@leo nginx]# vim /server/web/test2/index.html 
[root@leo nginx]# cat /server/web/test2/index.html 
<h1 align=center>test2 vhost</h1>
[root@leo nginx]# 

2.創建NGINX配置文件

[root@leo nginx]# ls
conf  html  logs  sbin
[root@leo nginx]# cd conf/
[root@leo conf]# ls
fastcgi.conf            koi-utf             nginx.conf           uwsgi_params
fastcgi.conf.default    koi-win             nginx.conf.default   uwsgi_params.default
fastcgi_params          mime.types          scgi_params          win-utf
fastcgi_params.default  mime.types.default  scgi_params.default
[root@leo conf]# mkdir vhost
[root@leo conf]# vim nginx.conf
include vhost/*.conf;   #在最後括號上添加
[root@leo conf]# ls
fastcgi.conf            koi-utf             nginx.conf           uwsgi_params
fastcgi.conf.default    koi-win             nginx.conf.default   uwsgi_params.default
fastcgi_params          mime.types          scgi_params          vhost
fastcgi_params.default  mime.types.default  scgi_params.default  win-utf
[root@leo conf]# cd vhost/
[root@leo vhost]# ls
test1.conf  test2.conf
[root@leo vhost]# cat test1.conf 
server {
    listen 80;
    server_name 192.168.116.129 ;
    index   index.html index.htm index.php;
    root  /server/web/test1 ;

}
[root@leo vhost]# cat test2.conf 
server {
    listen 80;
    server_name 192.168.116.100 ;
    index   index.html index.htm index.php;
    root  /server/web/test2 ;

}
[root@leo vhost]# 

3.重啟NGINX服務

[root@leo vhost]# /usr/local/nginx/sbin/nginx -s reload

如果是第一次啟動NGINX服務,執行這條命令:
[root@leo vhost]# /usr/local/nginx/sbin/nginx

4.訪問網頁
技術分享圖片

5.設置訪問同一個網頁

[root@leo vhost]# vim /server/web/index.html 
[root@leo vhost]# cat  /server/web/index.html 
<h1 align=center>test1 and test2 share  web page</h1>
[root@leo vhost]# vim test2.conf 
[root@leo vhost]# vim test1.conf 
[root@leo vhost]# /usr/local/nginx/sbin/nginx -s reload
[root@leo vhost]# cat test1.conf 
server {
    listen 80;
    server_name 192.168.116.129 ;
    index   index.html index.htm index.php;
    root  /server/web ;

}
[root@leo vhost]# cat test2.conf 
server {
    listen 80;
    server_name 192.168.116.100 ;
    index   index.html index.htm index.php;
    root  /server/web ;

}
[root@leo vhost]# 

6.訪問網頁
技術分享圖片

至此基於IP實現網頁分流已完成

基礎運維:基於IP實現網頁分流