天天看点

nginx基于ip的虚拟主机实战

1    网卡eth0配置多个ip地址

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

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

<code>[root@web01 conf]</code><code># ifconfig eth0:0 10.0.0.101/24 up</code>

<code>[root@web01 conf]</code><code># ifconfig</code>

<code>eth0      Link encap:Ethernet  HWaddr 00:0C:29:79:73:42  </code>

<code>          </code><code>inet addr:10.0.0.8  Bcast:10.0.0.255  Mask:255.255.255.0</code>

<code>          </code><code>inet6 addr: fe80::20c:29ff:fe79:7342</code><code>/64</code> <code>Scope:Link</code>

<code>          </code><code>UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1</code>

<code>          </code><code>RX packets:2694 errors:0 dropped:0 overruns:0 frame:0</code>

<code>          </code><code>TX packets:1959 errors:0 dropped:0 overruns:0 carrier:0</code>

<code>          </code><code>collisions:0 txqueuelen:1000 </code>

<code>          </code><code>RX bytes:243597 (237.8 KiB)  TX bytes:229882 (224.4 KiB)</code>

<code>eth0:0    Link encap:Ethernet  HWaddr 00:0C:29:79:73:42  </code>

<code>          </code><code>inet addr:10.0.0.101  Bcast:10.0.0.255  Mask:255.255.255.0</code>

<code>eth1      Link encap:Ethernet  HWaddr 00:0C:29:79:73:4C  </code>

<code>          </code><code>inet addr:172.16.1.8  Bcast:172.16.1.255  Mask:255.255.255.0</code>

<code>          </code><code>inet6 addr: fe80::20c:29ff:fe79:734c</code><code>/64</code> <code>Scope:Link</code>

<code>          </code><code>RX packets:0 errors:0 dropped:0 overruns:0 frame:0</code>

<code>          </code><code>TX packets:154 errors:0 dropped:0 overruns:0 carrier:0</code>

<code>          </code><code>RX bytes:0 (0.0 b)  TX bytes:9398 (9.1 KiB)</code>

<code>lo        Link encap:Local Loopback  </code>

<code>          </code><code>inet addr:127.0.0.1  Mask:255.0.0.0</code>

<code>          </code><code>inet6 addr: ::1</code><code>/128</code> <code>Scope:Host</code>

<code>          </code><code>UP LOOPBACK RUNNING  MTU:65536  Metric:1</code>

<code>          </code><code>RX packets:129 errors:0 dropped:0 overruns:0 frame:0</code>

<code>          </code><code>TX packets:129 errors:0 dropped:0 overruns:0 carrier:0</code>

<code>          </code><code>collisions:0 txqueuelen:0 </code>

<code>          </code><code>RX bytes:11352 (11.0 KiB)  TX bytes:11352 (11.0 KiB)</code>

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

<code>[root@m01 ~]</code><code># ping 10.0.0.101 -c4</code>

<code>PING 10.0.0.101 (10.0.0.101) 56(84) bytes of data.</code>

<code>64 bytes from 10.0.0.101: icmp_seq=1 ttl=64 </code><code>time</code><code>=0.421 ms</code>

<code>64 bytes from 10.0.0.101: icmp_seq=2 ttl=64 </code><code>time</code><code>=0.416 ms</code>

<code>64 bytes from 10.0.0.101: icmp_seq=3 ttl=64 </code><code>time</code><code>=0.384 ms</code>

<code>64 bytes from 10.0.0.101: icmp_seq=4 ttl=64 </code><code>time</code><code>=0.397 ms</code>

<code>--- 10.0.0.101 </code><code>ping</code> <code>statistics ---</code>

<code>4 packets transmitted, 4 received, 0% packet loss, </code><code>time</code> <code>3000ms</code>

<code>rtt min</code><code>/avg/max/mdev</code> <code>= 0.384</code><code>/0</code><code>.404</code><code>/0</code><code>.421</code><code>/0</code><code>.025 ms</code>

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

<code>[root@web01 conf]</code><code># ip addr add 10.0.0.102/24 dev eth0 label eth0:1</code>

<code>          </code><code>RX packets:2920 errors:0 dropped:0 overruns:0 frame:0</code>

<code>          </code><code>TX packets:2103 errors:0 dropped:0 overruns:0 carrier:0</code>

<code>          </code><code>RX bytes:262933 (256.7 KiB)  TX bytes:247258 (241.4 KiB)</code>

<code>eth0:1    Link encap:Ethernet  HWaddr 00:0C:29:79:73:42  </code>

<code>          </code><code>inet addr:10.0.0.102  Bcast:0.0.0.0  Mask:255.255.255.0</code>

<code>          </code><code>RX packets:6 errors:0 dropped:0 overruns:0 frame:0</code>

<code>          </code><code>RX bytes:360 (360.0 b)  TX bytes:9398 (9.1 KiB)</code>

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

<code>[root@web01 conf]</code><code># ip add</code>

<code>1: lo: &lt;LOOPBACK,UP,LOWER_UP&gt; mtu 65536 qdisc noqueue state UNKNOWN </code>

<code>    </code><code>link</code><code>/loopback</code> <code>00:00:00:00:00:00 brd 00:00:00:00:00:00</code>

<code>    </code><code>inet 127.0.0.1</code><code>/8</code> <code>scope host lo</code>

<code>    </code><code>inet6 ::1</code><code>/128</code> <code>scope host </code>

<code>       </code><code>valid_lft forever preferred_lft forever</code>

<code>2: eth0: &lt;BROADCAST,MULTICAST,UP,LOWER_UP&gt; mtu 1500 qdisc pfifo_fast state UP qlen 1000</code>

<code>    </code><code>link</code><code>/ether</code> <code>00:0c:29:79:73:42 brd ff:ff:ff:ff:ff:ff</code>

<code>    </code><code>inet 10.0.0.8</code><code>/24</code> <code>brd 10.0.0.255 scope global eth0</code>

<code>    </code><code>inet 10.0.0.101</code><code>/24</code> <code>brd 10.0.0.255 scope global secondary eth0:0</code>

<code>    </code><code>inet 10.0.0.102</code><code>/24</code> <code>scope global secondary eth0:1</code>

<code>    </code><code>inet6 fe80::20c:29ff:fe79:7342</code><code>/64</code> <code>scope link </code>

<code>3: eth1: &lt;BROADCAST,MULTICAST,UP,LOWER_UP&gt; mtu 1500 qdisc pfifo_fast state UP qlen 1000</code>

<code>    </code><code>link</code><code>/ether</code> <code>00:0c:29:79:73:4c brd ff:ff:ff:ff:ff:ff</code>

<code>    </code><code>inet 172.16.1.8</code><code>/24</code> <code>brd 172.16.1.255 scope global eth1</code>

<code>    </code><code>inet6 fe80::20c:29ff:fe79:734c</code><code>/64</code> <code>scope link </code>

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

<code>[root@m01 ~]</code><code># ping -c4 10.0.0.102</code>

<code>PING 10.0.0.102 (10.0.0.102) 56(84) bytes of data.</code>

<code>64 bytes from 10.0.0.102: icmp_seq=1 ttl=64 </code><code>time</code><code>=1.65 ms</code>

<code>64 bytes from 10.0.0.102: icmp_seq=2 ttl=64 </code><code>time</code><code>=0.330 ms</code>

<code>64 bytes from 10.0.0.102: icmp_seq=3 ttl=64 </code><code>time</code><code>=0.379 ms</code>

<code>64 bytes from 10.0.0.102: icmp_seq=4 ttl=64 </code><code>time</code><code>=0.318 ms</code>

<code>--- 10.0.0.102 </code><code>ping</code> <code>statistics ---</code>

<code>4 packets transmitted, 4 received, 0% packet loss, </code><code>time</code> <code>3003ms</code>

<code>rtt min</code><code>/avg/max/mdev</code> <code>= 0.318</code><code>/0</code><code>.670</code><code>/1</code><code>.655</code><code>/0</code><code>.569 ms</code>

2    修改nginx配置文件

<code>[root@web01 conf]</code><code># cat nginx.conf</code>

<code>worker_processes  1;</code>

<code>events {</code>

<code>    </code><code>worker_connections  1024;</code>

<code>}</code>

<code>http {</code>

<code>    </code><code>include       mime.types;</code>

<code>    </code><code>default_type  application</code><code>/octet-stream</code><code>;</code>

<code>    </code><code>sendfile        on;</code>

<code>    </code><code>keepalive_timeout  65;</code>

<code>    </code><code>server {</code>

<code>        </code><code>listen       10.0.0.8:80;</code>

<code>        </code><code>server_name  www.etiantian.org;</code>

<code>        </code><code>location / {</code>

<code>            </code><code>root   html</code><code>/www</code><code>;</code>

<code>            </code><code>index  index.html index.htm;</code>

<code>        </code><code>}</code>

<code>    </code><code>}</code>

<code>        </code><code>listen       10.0.0.101:80;</code>

<code>            </code><code>root   html</code><code>/bbs</code><code>;</code>

<code>        </code><code>listen       10.0.0.102:80;</code>

<code>            </code><code>root   html</code><code>/blog</code><code>;</code>

<code>}              </code>

<code>[root@web01 conf]</code><code># /application/nginx/sbin/nginx -t</code>

<code>nginx: the configuration </code><code>file</code> <code>/application/nginx-1</code><code>.6.3</code><code>//conf/nginx</code><code>.conf syntax is ok</code>

<code>nginx: configuration </code><code>file</code> <code>/application/nginx-1</code><code>.6.3</code><code>//conf/nginx</code><code>.conf </code><code>test</code> <code>is successful</code>

<code>[root@web01 conf]</code><code># /application/nginx/sbin/nginx -s reload</code>

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

<code>[root@m01 ~]</code><code># curl 10.0.0.8</code>

<code>www</code>

<code>[root@m01 ~]</code><code># curl 10.0.0.101</code>

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

<code>[root@web01 conf]</code><code># /application/nginx/sbin/nginx -s stop</code>

<code>[root@web01 conf]</code><code># /application/nginx/sbin/nginx</code>

        继续在管理机m01上验证

<code>bbs</code>

<code>[root@m01 ~]</code><code># curl 10.0.0.102</code>

<code>blog</code>

    上面已验证成功。

总结:

配置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

继续阅读