首先,启动nginx很简单
用/usr/local/nginx/sbin/nginx启动脚本直接启动就行了
[root@localhost nginx-1.5.4]# netstat -nutpl | grep 80
tcp 0 0 0.0.0.0:80 0.0.0.0:* LISTEN 18276/nginx
已经可以看到nginx在监听80端口了
[root@localhost nginx-1.5.4]# iptables -I INPUT 4 -m state --state NEW -p tcp --dport 80 -j ACCEPT
[root@localhost nginx-1.5.4]# iptables -nL
Chain INPUT (policy ACCEPT)
target prot opt source destination
ACCEPT all -- 0.0.0.0/0 0.0.0.0/0 state RELATED,ESTABLISHED
ACCEPT icmp -- 0.0.0.0/0 0.0.0.0/0
ACCEPT all -- 0.0.0.0/0 0.0.0.0/0
ACCEPT tcp -- 0.0.0.0/0 0.0.0.0/0 state NEW tcp dpt:80
ACCEPT tcp -- 0.0.0.0/0 0.0.0.0/0 state NEW tcp dpt:22
REJECT all -- 0.0.0.0/0 0.0.0.0/0 reject-with icmp-host-prohibited
Chain FORWARD (policy ACCEPT)
target prot opt source destination
REJECT all -- 0.0.0.0/0 0.0.0.0/0 reject-with icmp-host-prohibited
Chain OUTPUT (policy ACCEPT)
target prot opt source destination
添加了防火墙规则之后,可以在浏览器看到nginx的默认首页了
[root@localhost ~]# ifconfig
eth0 Link encap:Ethernet HWaddr 08:00:27:0F:5E:D0
inet addr:110.65.96.136 Bcast:110.65.99.255 Mask:255.255.252.0
inet6 addr: 2001:da8:2006:a438:a00:27ff:fe0f:5ed0/64 Scope:Global
inet6 addr: fe80::a00:27ff:fe0f:5ed0/64 Scope:Link
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:858586 errors:0 dropped:0 overruns:0 frame:0
TX packets:35928 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:117905961 (112.4 MiB) TX bytes:5571268 (5.3 MiB)
目前主机的网络配置
[root@localhost ~]# ifconfig eth0:1 110.65.96.137 broadcast 110.65.96.255 netmask 255.255.255.0 up
[root@localhost ~]# route add -host 110.65.96.137 dev eth0:1
[root@localhost ~]# ifconfig eth0:2 110.65.96.138 broadcast 110.65.96.255 netmask 255.255.255.0 up
[root@localhost ~]# route add -host 110.65.96.138 dev eth0:2
这两条命令添加将两个ip绑定到网卡上
再用ifconfig查看时已经可以看到有两个ip了
eth0:1 Link encap:Ethernet HWaddr 08:00:27:0F:5E:D0
inet addr:110.65.96.137 Bcast:110.65.96.255 Mask:255.255.255.0
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
eth0:2 Link encap:Ethernet HWaddr 08:00:27:0F:5E:D0
inet addr:110.65.96.138 Bcast:110.65.96.255 Mask:255.255.255.0
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
但是这样的配置在重启之后会失效
所以要把配置写入/etc/rc.local(系统启动会自动加载执行这个脚本)
然后修改主配置文件,添加一下几行
然后重启nginx
随便做个测试页
可以看到,不同的ip可以访问不同的主页,即不同的虚拟主机
下面是基于域名的虚拟主机
修改nginx的主配置文件
添加以上这些内容
重新读取配置文件
[root@localhost ~]# /usr/local/nginx/sbin/nginx -s reload
要测试的话,要配置好dns服务
yum install bind bind-chroot bind-utils bind-libs
启动服务
[root@localhost ~]# service named start
第一次启动会慢一点
可以看到dns监听的端口,设置iptables的策略
[root@localhost ~]# iptables -I INPUT 4 -m state --state NEW -p tcp --dport 53 -j ACCEPT
[root@localhost ~]# iptables -I INPUT 4 -m state --state NEW -p udp --dport 53 -j ACCEPT
修改主配置文件
同时在/var/named/下创建一个server.com.zone
服务重启
然后把自己电脑的dns指向你的实验机器
可以看到实验结果
这个就是基于域名的虚拟主机