nginx基于ip的虚拟主机实战

简介:

1    网卡eth0配置多个ip地址

一个网卡多个ip,如何一个网卡配置多个ip

方法1:ifconfig eth0:0 10.0.0.101/24 up    (ifconfig 方式设置ip叫做别名IP)

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
[root@web01 conf] # ifconfig eth0:0 10.0.0.101/24 up
[root@web01 conf] # ifconfig
eth0      Link encap:Ethernet  HWaddr 00:0C:29:79:73:42  
           inet addr:10.0.0.8  Bcast:10.0.0.255  Mask:255.255.255.0
           inet6 addr: fe80::20c:29ff:fe79:7342 /64  Scope:Link
           UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
           RX packets:2694 errors:0 dropped:0 overruns:0 frame:0
           TX packets:1959 errors:0 dropped:0 overruns:0 carrier:0
           collisions:0 txqueuelen:1000 
           RX bytes:243597 (237.8 KiB)  TX bytes:229882 (224.4 KiB)
eth0:0    Link encap:Ethernet  HWaddr 00:0C:29:79:73:42  
           inet addr:10.0.0.101  Bcast:10.0.0.255  Mask:255.255.255.0
           UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
eth1      Link encap:Ethernet  HWaddr 00:0C:29:79:73:4C  
           inet addr:172.16.1.8  Bcast:172.16.1.255  Mask:255.255.255.0
           inet6 addr: fe80::20c:29ff:fe79:734c /64  Scope:Link
           UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
           RX packets:0 errors:0 dropped:0 overruns:0 frame:0
           TX packets:154 errors:0 dropped:0 overruns:0 carrier:0
           collisions:0 txqueuelen:1000 
           RX bytes:0 (0.0 b)  TX bytes:9398 (9.1 KiB)
lo        Link encap:Local Loopback  
           inet addr:127.0.0.1  Mask:255.0.0.0
           inet6 addr: ::1 /128  Scope:Host
           UP LOOPBACK RUNNING  MTU:65536  Metric:1
           RX packets:129 errors:0 dropped:0 overruns:0 frame:0
           TX packets:129 errors:0 dropped:0 overruns:0 carrier:0
           collisions:0 txqueuelen:0 
           RX bytes:11352 (11.0 KiB)  TX bytes:11352 (11.0 KiB)

在管理机m01上面ping是否可以ping通

1
2
3
4
5
6
7
8
9
[root@m01 ~] # ping 10.0.0.101 -c4
PING 10.0.0.101 (10.0.0.101) 56(84) bytes of data.
64 bytes from 10.0.0.101: icmp_seq=1 ttl=64  time =0.421 ms
64 bytes from 10.0.0.101: icmp_seq=2 ttl=64  time =0.416 ms
64 bytes from 10.0.0.101: icmp_seq=3 ttl=64  time =0.384 ms
64 bytes from 10.0.0.101: icmp_seq=4 ttl=64  time =0.397 ms
--- 10.0.0.101  ping  statistics ---
4 packets transmitted, 4 received, 0% packet loss,  time  3000ms
rtt min /avg/max/mdev  = 0.384 /0 .404 /0 .421 /0 .025 ms

方法2:    辅助IP设置ip addr add 10.0.0.102/24 dev eth0 label eth0:1(不带表情label ifconifg看不了)

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
[root@web01 conf] # ip addr add 10.0.0.102/24 dev eth0 label eth0:1
[root@web01 conf] # ifconfig
eth0      Link encap:Ethernet  HWaddr 00:0C:29:79:73:42  
           inet addr:10.0.0.8  Bcast:10.0.0.255  Mask:255.255.255.0
           inet6 addr: fe80::20c:29ff:fe79:7342 /64  Scope:Link
           UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
           RX packets:2920 errors:0 dropped:0 overruns:0 frame:0
           TX packets:2103 errors:0 dropped:0 overruns:0 carrier:0
           collisions:0 txqueuelen:1000 
           RX bytes:262933 (256.7 KiB)  TX bytes:247258 (241.4 KiB)
eth0:0    Link encap:Ethernet  HWaddr 00:0C:29:79:73:42  
           inet addr:10.0.0.101  Bcast:10.0.0.255  Mask:255.255.255.0
           UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
eth0:1    Link encap:Ethernet  HWaddr 00:0C:29:79:73:42  
           inet addr:10.0.0.102  Bcast:0.0.0.0  Mask:255.255.255.0
           UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
eth1      Link encap:Ethernet  HWaddr 00:0C:29:79:73:4C  
           inet addr:172.16.1.8  Bcast:172.16.1.255  Mask:255.255.255.0
           inet6 addr: fe80::20c:29ff:fe79:734c /64  Scope:Link
           UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
           RX packets:6 errors:0 dropped:0 overruns:0 frame:0
           TX packets:154 errors:0 dropped:0 overruns:0 carrier:0
           collisions:0 txqueuelen:1000 
           RX bytes:360 (360.0 b)  TX bytes:9398 (9.1 KiB)
lo        Link encap:Local Loopback  
           inet addr:127.0.0.1  Mask:255.0.0.0
           inet6 addr: ::1 /128  Scope:Host
           UP LOOPBACK RUNNING  MTU:65536  Metric:1
           RX packets:129 errors:0 dropped:0 overruns:0 frame:0
           TX packets:129 errors:0 dropped:0 overruns:0 carrier:0
           collisions:0 txqueuelen:0 
           RX bytes:11352 (11.0 KiB)  TX bytes:11352 (11.0 KiB)

        用ip add可以看出来ip的别名和辅助ip区别

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
[root@web01 conf] # ip add
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN 
     link /loopback  00:00:00:00:00:00 brd 00:00:00:00:00:00
     inet 127.0.0.1 /8  scope host lo
     inet6 ::1 /128  scope host 
        valid_lft forever preferred_lft forever
2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP qlen 1000
     link /ether  00:0c:29:79:73:42 brd ff:ff:ff:ff:ff:ff
     inet 10.0.0.8 /24  brd 10.0.0.255 scope global eth0
     inet 10.0.0.101 /24  brd 10.0.0.255 scope global secondary eth0:0
     inet 10.0.0.102 /24  scope global secondary eth0:1
     inet6 fe80::20c:29ff:fe79:7342 /64  scope link 
        valid_lft forever preferred_lft forever
3: eth1: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP qlen 1000
     link /ether  00:0c:29:79:73:4c brd ff:ff:ff:ff:ff:ff
     inet 172.16.1.8 /24  brd 172.16.1.255 scope global eth1
     inet6 fe80::20c:29ff:fe79:734c /64  scope link 
        valid_lft forever preferred_lft forever

        到管理机m01查看辅助ip地址是否通

1
2
3
4
5
6
7
8
9
[root@m01 ~] # ping -c4 10.0.0.102
PING 10.0.0.102 (10.0.0.102) 56(84) bytes of data.
64 bytes from 10.0.0.102: icmp_seq=1 ttl=64  time =1.65 ms
64 bytes from 10.0.0.102: icmp_seq=2 ttl=64  time =0.330 ms
64 bytes from 10.0.0.102: icmp_seq=3 ttl=64  time =0.379 ms
64 bytes from 10.0.0.102: icmp_seq=4 ttl=64  time =0.318 ms
--- 10.0.0.102  ping  statistics ---
4 packets transmitted, 4 received, 0% packet loss,  time  3003ms
rtt min /avg/max/mdev  = 0.318 /0 .670 /1 .655 /0 .569 ms


2    修改nginx配置文件

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
[root@web01 conf] # cat nginx.conf
worker_processes  1;
events {
     worker_connections  1024;
}
http {
     include       mime.types;
     default_type  application /octet-stream ;
     sendfile        on;
     keepalive_timeout  65;
     server {
         listen       10.0.0.8:80;
         server_name  www.etiantian.org;
         location / {
             root   html /www ;
             index  index.html index.htm;
         }
     }
     server {
         listen       10.0.0.101:80;
         server_name  www.etiantian.org;
         location / {
             root   html /bbs ;
             index  index.html index.htm;
         }
     }
     server {
         listen       10.0.0.102:80;
         server_name  www.etiantian.org;
         location / {
             root   html /blog ;
             index  index.html index.htm;
         }
     }
}              
[root@web01 conf] # /application/nginx/sbin/nginx -t
nginx: the configuration  file  /application/nginx-1 .6.3 //conf/nginx .conf syntax is ok
nginx: configuration  file  /application/nginx-1 .6.3 //conf/nginx .conf  test  is successful
[root@web01 conf] # /application/nginx/sbin/nginx -s reload

    2.1    验证,在m01管理机上面验证

1
2
3
4
[root@m01 ~] # curl 10.0.0.8
www
[root@m01 ~] # curl 10.0.0.101
www

        发现101是错误的,原因:有时候平滑优雅重启不生效。在web01机器上面关闭nginx服务再开启nginx服务。

1
2
[root@web01 conf] # /application/nginx/sbin/nginx -s stop
[root@web01 conf] # /application/nginx/sbin/nginx

        继续在管理机m01上验证

1
2
3
4
5
6
[root@m01 ~] # curl 10.0.0.8
www
[root@m01 ~] # curl 10.0.0.101
bbs
[root@m01 ~] # curl 10.0.0.102
blog

    上面已验证成功。


总结:

配置ip    (ifconfig是配置别名ip地址,ip addr是配置辅助ip地址)

ifconfig eth0:0 10.0.0.101/24 up

ip addr add 10.0.0.102/24 dev eth0 label eth0:1

删除ip

ifconfig eth0:0 down

ip addr del 10.0.0.102/24 dev eth0 label eth0:1

本文转自sandshell博客51CTO博客,原文链接http://blog.51cto.com/sandshell/1957785如需转载请自行联系原作者


sandshell

相关文章
|
2月前
|
应用服务中间件 nginx
树莓派安装Nginx服务结合内网穿透实现无公网IP远程访问
树莓派安装Nginx服务结合内网穿透实现无公网IP远程访问
|
25天前
|
Java 应用服务中间件 API
springboot+nginx获取真实IP
springboot+nginx获取真实IP
23 4
|
27天前
|
弹性计算 应用服务中间件 Linux
双剑合璧:在同一ECS服务器上共存Apache与Nginx的实战攻略
在ECS服务器上同时部署Apache和Nginx的实战:安装更新系统,Ubuntu用`sudo apt install apache2 nginx`,CentOS用`sudo yum install httpd nginx`。配置Nginx作为反向代理,处理静态内容及转发动态请求到Apache(监听8080端口)。调整Apache的`ports.conf`监听8080。重启服务测试,实现两者高效协同,提升Web服务性能。记得根据流量和需求优化配置。【6月更文挑战第21天】
175 1
|
27天前
|
安全 Ubuntu 应用服务中间件
NGINX环境下实现Web网站访问控制的实战指南
在NGINX中设置基于IP的访问控制可提升网站安全性。步骤包括安装NGINX、备份配置文件、编辑`/etc/nginx/sites-available/default`,添加`allow`和`deny`指令限制特定IP访问,如`allow 192.168.1.100; deny all;`,然后测试配置并重启服务。成功后,仅允许的IP能访问网站,否则会收到403错误。这为Web安全提供基础保障,还可扩展实现更多高级控制策略。【6月更文挑战第20天】
91 3
|
1月前
|
监控 前端开发 应用服务中间件
前端开发者必备:Nginx入门实战宝典,从部署到优化一网打尽(2)
前端开发者必备:Nginx入门实战宝典,从部署到优化一网打尽
41 1
|
1月前
|
负载均衡 前端开发 应用服务中间件
前端开发者必备:Nginx入门实战宝典,从部署到优化一网打尽(1)
前端开发者必备:Nginx入门实战宝典,从部署到优化一网打尽
45 1
|
11天前
|
缓存 负载均衡 监控
Nginx性能调优5招35式不可不知的策略实战
以上 V 哥总结的5个方面关于 Nginx性能调优的策略,实际应用中需要结合实际项目的情况来测试,希望对你有帮助,欢迎关注威哥爱编程,技术路上我们一起成长。
|
2月前
|
监控 数据可视化 安全
如何查找访问 Nginx 的前 10 个 IP?
【5月更文挑战第1天】
67 1
如何查找访问 Nginx 的前 10 个 IP?
|
2月前
|
域名解析 弹性计算 应用服务中间件
基于nginx反向代理实现OSS固定域名IP访问
本文基于阿里云OSS手册:https://help.aliyun.com/zh/oss/use-cases/use-an-ecs-instance-that-runs-centos-to-configure-a-reverse-proxy-for-access-to-oss,继续深入讨论如何利用nginx反向代理,实现固定的IP/域名访问OSS bucket。官方文档能够解决大部分的反向代理固定IP访问oss bucket的场景,但是对于必须使用域名作为endpoint的系统,会出现signatrue鉴权问题。本文继续在官方文档的基础上,将反向代理需要域名作为endpoint的场景补齐方案。
|
2月前
|
应用服务中间件 nginx
如何在树莓派部署Nginx并实现无公网ip远程访问内网制作的web网站
如何在树莓派部署Nginx并实现无公网ip远程访问内网制作的web网站
22 0