HTTPD 虚拟主机及完成配置示例
2019-08-04 19:58
155 查看
版权声明:本文为博主原创文章,遵循 CC 4.0 by-sa 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/weixin_44983653/article/details/98472866
基于IP的虚拟主机的完整示例 基于端口的虚拟主机的完整示例
HTTPD 虚拟主机及完成配置示例
虚拟主机
站点标识: socket
IP相同,但端口不同 IP不同,但端口均为默认端口 FQDN不同: 请求报文中首部 Host: www.magedu.com
虚拟主机有三种实现方案:
基于ip:为每个虚拟主机准备至少一个ip地址 基于port:为每个虚拟主机使用至少一个独立的port 基于FQDN:为每个虚拟主机使用至少一个FQDN
**注意(专用于httpd-2.2):**一般虚拟机不要与中心主机混用;因此,要使用虚拟主机,得先禁用’main’主机;禁用方法:注释中心主机的DocumentRoot指令即可。
虚拟主机的配置方法
<VirtualHost IP:PORT> ServerName FQDN DocumentRoot "" </VirtualHost>
其它可用指令:
ServerAlias # 虚拟主机的别名;可多次使用 ErrorLog # 单独指定错误日志的存放位置 CustomLog # 单独指定访问日志的存放位置 <Directory ""> .. </Directory> Alias ...
基于IP的虚拟主机示例
<VirtualHost 172.16.100.6:80> ServerName www.a.com DocumentRoot "/www/a.com/htdocs" </VirtualHost> <VirtualHost 172.16.100.7:80> ServerName www.b.net DocumentRoot "/www/b.net/htdocs" </VirtualHost> <VirtualHost 172.16.100.8:80> ServerName www.c.org DocumentRoot "/www/c.org/htdocs" </VirtualHost>
基于端口的虚拟主机
<VirtualHost 172.16.100.6:80> ServerName www.a.com DocumentRoot "/www/a.com/htdocs" </VirtualHost> <VirtualHost 172.16.100.6:808> ServerName www.b.net DocumentRoot "/www/b.net/htdocs" </VirtualHost> <VirtualHost 172.16.100.6:8080> ServerName www.c.org DocumentRoot "/www/c.org/htdocs" </VirtualHost>
基于FQDN的虚拟主机
<VirtualHost 172.16.100.6:80> ServerName www.a.com DocumentRoot "/www/a.com/htdocs" </VirtualHost> <VirtualHost 172.16.100.6:80> ServerName www.b.net DocumentRoot "/www/b.net/htdocs" </VirtualHost> <VirtualHost 172.16.100.6:80> ServerName www.c.org DocumentRoot "/www/c.org/htdocs" </VirtualHost>
基于IP的虚拟主机的完整示例
IP地址 | 域名 | 文档根 |
---|---|---|
192.168.1.10 | www.neo.com | /data/web/neo/ |
192.168.1.100 | www.tang.com | /data/web/tang/ |
1、创建文档根和主页
[root@neo ~]# cat /data/web/neo/index.html <h1>This is neo's website!</h1> [root@neo ~]# cat /data/web/tang/index.html <h1>This is tang's website!</h1>
2、修改本机的 hosts 文件,并配置本机的 IP 地址
[root@neo ~]# ip addr list | grep "inet\>" | grep -v 127.0.0.1 | grep -v 192.168.10.5 inet 192.168.1.10/24 brd 192.168.1.255 scope global noprefixroute dynamic ens33 inet 192.168.1.100/32 scope global ens33 [root@neo ~]# cat /etc/hosts 192.168.1.10 www.neo.com 192.168.1.100 www.tang.com
3、配置 HTTPD 主配置文件,进行语法检查,并重启服务
[root@Neo ~]# vim /etc/httpd/conf/httpd.conf <VirtualHost 192.168.1.10:80> ServerName www.neo.com DocumentRoot "/data/web/neo" <Directory "/data/web/neo"> AllowOverride None Options None Require all granted </Directory> </VirtualHost> <VirtualHost 192.168.1.100:80> ServerName www.tang.com DocumentRoot "/data/web/tang" <Directory "/data/web/tang"> AllowOverride None Options None Require all granted </Directory> </VirtualHost> [root@Neo ~]# httpd -t Syntax OK [root@Neo ~]# systemctl restart httpd.service
4、通过浏览器访问,进行验证
基于端口的虚拟主机的完整示例
IP地址 | 域名 | 文档根 |
---|---|---|
192.168.1.10:80 | www.neo.com | /data/web/neo/ |
192.168.1.10:8080 | www.tang.com | /data/web/tang/ |
1、创建文档根和主页
[root@neo ~]# cat /data/web/neo/index.html <h1>This is neo's website!</h1> [root@neo ~]# cat /data/web/tang/index.html <h1>This is tang's website!</h1>
2、修改本机的 hosts 文件,并配置本机的 IP 地址和 iptables
[root@neo ~]# ip addr list | grep "inet\>" | grep -v 127.0.0.1 | grep -v 192.168.10.5 inet 192.168.1.10/24 brd 192.168.1.255 scope global noprefixroute dynamic ens33 [root@neo ~]# cat /etc/hosts 192.168.1.10:80 www.neo.com 192.168.1.10:8080 www.tang.com [root@Neo ~]# iptables -I INPUT -p TCP --dport 80 -j ACCEPT [root@Neo ~]# iptables -I INPUT -p TCP --dport 8080 -j ACCEPT
3、配置 HTTPD 主配置文件,进行语法检查,并重启服务
[root@Neo ~]# vim /etc/httpd/conf/httpd.conf # 进行虚拟主机配置,并且配置监听接口 VirtualHost 192.168.1.10:80> ServerName www.neo.com DocumentRoot "/data/web/neo" <Directory "/data/web/neo"> AllowOverride None Options None Require all granted </Directory> </VirtualHost> Listen 80 <VirtualHost 192.168.1.10:8080> ServerName www.tang.com DocumentRoot "/data/web/tang" <Directory "/data/web/tang"> AllowOverride None Options None Require all granted </Directory> </VirtualHost> Listen 8080 [root@Neo ~]# httpd -t Syntax OK [root@Neo ~]# systemctl restart httpd.service [root@Neo ~]# ss -tnl # 两个监听端口 State Recv-Q Send-Q Local Address:Port Peer Address:Port LISTEN 0 128 *:22 *:* LISTEN 0 100 127.0.0.1:25 *:* LISTEN 0 128 :::8080 :::* LISTEN 0 128 :::80 :::* LISTEN 0 32 :::21 :::* LISTEN 0 128 :::22 :::* LISTEN 0 100 ::1:25 :::*
4、通过浏览器访问,进行验证
相关文章推荐
- Nginx配置示例和方法(虚拟主机)
- httpd之虚拟主机的配置
- apache开启虚拟主机与httpd-vhosts.conf配置
- httpd功能配置之虚拟主机【转】
- CentOS 6.9配置httpd-2.2.x虚拟主机的三种方式
- htaccess示例:多虚拟主机配置
- CentOS7配置httpd虚拟主机教程
- mac xampp安装完成之后配置虚拟主机
- linux httpd功能配置之虚拟主机
- httpd服务之虚拟主机、访问控制、https配置
- 实例讲解httpd虚拟主机的配置以及https的配置
- linux配置httpd支持https(注意SSL会话是基于IP地址创建,所以单IP的主机上,仅可以使用一个https虚拟主机)
- Apache httpd配置虚拟主机的三种方法
- apache开启虚拟主机功能与httpd-vhosts.conf 配置
- apache开启虚拟主机功能与httpd-vhosts.conf 配置分享
- nginx配置多个虚拟主机vhost的方法示例
- 编写安装配置httpd服务基于域名的虚拟主机脚本
- apache配置httpd-vhosts实现虚拟主机访问
- apache虚拟主机配置示例
- Tomcat虚拟主机配置示例