虚拟主机:在一个服务器上可以有多个虚拟出来的主机
一个站点:对应一个域名+一个目录
配置文件: ls /etc/nginx/conf.d/default.conf
查看80端口是否通:telnet 192.168.89.20 80
查看防火墙规则:iptables -nvL 。 Centos7 自带firewalld服务开启,不建议关掉。
使两个主机能通过80端口通信的方法有以下两种:
①关闭firewalld #systemctl stop firewalld
②添加白名单 添加80端口到白名单:
#firewall-cmd --add-port=80/tcp (临时)
#firewall-cmd --add-port=80/tcp --permanent(永久)
#firewall-cmd --reload
注意:出现404,可能是没有杀死以前的nginx进程pid,安装新版本后,再次加载不是新版本的nginx
S1:
设置域名: vi /etc/nginx/conf.d/default.conf
指定域名:
- ①服务器有该域名的DNS权限,绑定域名IP
- ②本机的hosts,让本机记住这个域名绑定的IP
#vi /etc/hosts 新添加一行 192.168.89.19 www.aaa.com www.bbb.com (同一个IP支持多个域名)
1、windows中的hosts: C:\Windows\System32\drivers\etc (设置完nginx配置文件后,在windows上要增加hosts,比如www.aaa.com还有bbb和ccc)
2、Linux下:
S2: 管理虚拟主机
#cd /etc/nginx/conf.d/default.conf
#cp default.conf 2.conf
默认2.conf优先,因为在目录里排前面,但是在default.conf中添加default_server,default.conf就成默认虚拟主机配置文件了。
注意:一个域名主机至少有一个server_name,root
#cp default.conf 2.conf(注意要删除2.conf中的default_server选项)
上次使用的vi命令:
!vi
#nginx -t
#nginx -s reload
#mkdir /tmp/html
#echo 11111 > /tmp/html/index.html
显示结果:
分析:同一个IP,配置上指定不同域名,可以使用相同虚拟主机,或者不同虚拟机。 www.aaa.com和www.bbb.com使用同一虚拟机,在/etc/nginx/conf.d/default.conf中
www.ccc.com使用与aaa和bbb不同虚拟机,在/etc/nginx/conf.d/2.conf中