标签:
@[toc]
apache 常用的功能,虚拟主机
一:虚拟Web主机
在同一台服务器中运行多个Web站点,其中每一个站点并不独立占用一台真正的计算机
1.1 httpd支持的虚拟主机类型(三种)
基于域名的类型
基于IP地址的虚拟主机
基于端口的虚拟主机
例如:
IP相同,端口相同
IP不同,端口相同
IP相同,端口不通

二:构建虚拟主机基于域名的实验
2.1.1 安装软件包
[[email protected] ~]# yum install bind httpd -y
Package 32:bind-9.11.4-9.P2.el7.x86_64 already installed and latest version
Package httpd-2.4.6-90.el7.centos.x86_64 already installed and latest version
Nothing to do
2.1.2 关闭防火墙增强服务
[[email protected] ~]# setenforce 0
[[email protected] ~]# systemctl stop firewalld.service
[[email protected] ~]#
2.1.3 配置dns
配置dns全局配置文件/etc/named.conf
[[email protected] ~]# vim /etc/named.conf
options {
listen-on port 53 { any; };
listen-on-v6 port 53 { ::1; };
directory
"/var/named";
dump-file
"/var/named/data/cache_dump.db";
statistics-file "/var/named/data/named_stats.txt";
memstatistics-file "/var/named/data/named_mem_stats.txt";
recursing-file "/var/named/data/named.recursing";
secroots-file "/var/named/data/named.secroots";
allow-query
{ any; };
配置dns区域配置文件/etc/named.rfc1912.zones
[[email protected] ~]# vim /etc/named.rfc1912.zones
zone "kgc.com" IN {
type master;
file "kgc.com.zone";
allow-update { none; };
};
zone "accp.com" IN {
type master;
file "accp.com.zone";
allow-update { none; };
};
修改dns的区域数据文件
[[email protected] ~]# cd /var/named/
[[email protected] named]# ls
data dynamic named.ca named.empty named.localhost named.loopback slaves
[[email protected] named]# cp -p named.localhost kgc.com.zone
[[email protected] named]# vim kgc.com.zone
$TTL 1D
@
IN SOA @ rname.invalid. (
0
; serial
1D
; refresh
1H
; retry
1W
; expire
3H ) ; minimum
NS
@
A
127.0.0.1
www
IN
A
192.168.247.150
~
[[email protected] named]# cp -p kgc.com.zone accp.com.zone
修改完毕,启动dns服务
[[email protected] named]# systemctl start named
为客户机配置好dns,去进行测试服务是否生效

nslookup 解析成功

2.1.4 创建虚拟主机配置文件,位置在/etc/httpd/conf/extra/,为了简明之意,文件名设为vhost.conf
[[email protected] httpd]# ls
conf conf.d conf.modules.d logs modules run
[[email protected] httpd]# ls -l
total 0
drwxr-xr-x. 2 root root 37 Dec 12 14:45 conf
drwxr-xr-x. 2 root root 82 Dec 12 14:45 conf.d
drwxr-xr-x. 2 root root 146 Dec 12 14:45 conf.modules.d
lrwxrwxrwx. 1 root root 19 Dec 12 14:45 logs -> ../../var/log/httpd
lrwxrwxrwx. 1 root root 29 Dec 12 14:45 modules -> ../../usr/lib64/httpd/modules
lrwxrwxrwx. 1 root root 10 Dec 12 14:45 run -> /run/httpd
[[email protected] httpd]#
[[email protected] httpd]# cd conf
[[email protected] conf]# ls
httpd.conf magic
[[email protected] conf]# mkdir extra
[[email protected] conf]# cd extra/
[[email protected] extra]# ls
[[email protected] extra]#
/etc/httpd/conf/extra/vhost.conf文件中
指的是所有的ip地址同过80端口都可以访问
DocumentRoot “是web站点目录”
ServerName “站点服务域名”
Errorlog
“指定错误日志路径”
Customlog “指定访问日志路径”
后面跟common扩展工具
指定详细配置的目录名,可以发现是web站点目录的父目录
允许所有用户主机的所有访问权限
//后面由此还会扩展更多的配置属性
[[email protected] extra]# vim vhost.conf
1 <VirtualHost *:80>
2 DocumentRoot "/var/www/html/kgc"
3 ServerName
4 Errorlog "logs/www.kgc.com.error_log"
5 Customlog "logs/www.kgc.comaccess_log" common
6 <Directory "/var/www/html">
7 Require all granted
8 </Directory>
9 </VirtualHost>
10
11 <VirtualHost *:80>
12 DocumentRoot "/var/www/html/accp"
13 ServerName
14 Errorlog "logs/www.accp.com.error_log"
15 Customlog "logs/www.accp.comaccess_log" common
16 <Directory "/var/www/html">
17 Require all granted
18 </Directory>
19 </VirtualHost>
### 2.1.5 创建两个web站点的首页,首页文件index.html在/var/www/html下面的站点目录中
```bash
[[email protected] extra]# cd /var/
[[email protected] var]# ls
account cache db
games kerberos local log named opt
run target www
adm
crash empty gopher lib
lock mail nis preserve spool tmp
yp
[[email protected] var]# cd www
[[email protected] www]# ls
cgi-bin html
[[email protected] www]# cd html
[[email protected] html]# ls
[[email protected] html]# mkdir kgc accp
[[email protected] html]# ls
accp kgc
[[email protected] html]# echo "this is accp web" > accp/index.html
[[email protected] html]# echo "this is kgc web" > kgc/index.html
[[email protected] html]# tree accp kgc
accp
└── index.html
kgc
└── index.html
0 directories, 2 files
[[email protected] html]#
2.1.7 重点:需要把extra的路径加入到主配置文件中,启动时才可以识别
[[email protected] html]# vim /etc/httpd/conf/httpd.conf
354 Include conf/extra/vhost.conf
2.1.8 开启服务,查看服务端口
[[email protected] html]# systemctl start httpd
[[email protected] html]# netstat -natp | grep httpd
tcp6
0
0 :::80
:::*
LISTEN
79262/httpd
2.1.9 在客户机验证