目录
构建虚拟主机
解析域名(搭建dns,前面写的有用脚本搭建dns解析的文章感兴趣可以直接拿来用)
添加虚拟主机配置(基于域名)
基于IP地址
基于端口
APACHE 长连接保持
用户授权限制
Apache HTTP Server 之所以受到众多企业的青睐,得益于其代码开源、跨平台、功能
模块化、可灵活定制等诸多优点,不仅性能稳定,在安全性方面的表现也十分出色。
虚拟 Web 主机指的是在同一台服务器中运行多个 Web 站点,其中每一个站点实际上并不独立占用整个服务器,因此被称为“虚拟”Web 主机。通过虚拟 Web 主机服务可 以充分利用服务器的硬件资源,从而大大降低网站构建及运行成本。
使用 httpd 服务可以非常方便地构建虚拟主机服务器,只需要运行一个 httpd 服务就能够同时支撑大量的 Web 站点。httpd 服务支持的虚拟主机类型
包括以下三种:
基于域名:为每个虚拟主机使用不同的域名,但是其对应的 IP 地址是相同的。例
如,www.xiaobin.com和 www.accp.com站点的 IP 地址都是 192.168.91.100 这是使用
最为普遍的虚拟 Web 主机类型。
基于 IP 地址:为每个虚拟主机使用不同的域名,且各自对应的 IP 地址也不相同。
这种方式需要为服务器配备多个网络接口,因此应用并不是非常广泛。(成本高,不实际)
基于端口:这种方式并不使用域名、IP 地址来区分不同的站点内容,而是使用了不 同的 TCP 端口号,因此用户在浏览不同的虚拟站点时需要同时指定端口号才能访问。ip地址加端口。
--------------------------------------废话不多说开搞---------------------------------
我们已经搭建过apache服务了,是源码编译安装的,如果没有装可以看一下我前面写的lamp,或者你也可以yum一个httpd,里面的东西都差不多,只是源码编译安装是多了一个extra目录,路径相对复杂一些,其他没什么
dns解析无非就修改三个配置文件
[root@localhost named]#vim /etc/named.conf
/var/name
[root@localhost named]#vim /etc/named.rfc1912.zones
[root@localhost named]#vim /etc/named.rfc1912.zones
不多赘述了,,只要最后记得重启bind服务就行,systemctl start named
[root@localhost extra]#vim /usr/local/httpd/conf/extra/httpd-vhosts.conf
加载独立配置文件
这边,可以复制系统的配置文件加到,刚刚源码编译的配置文件当中
[root@localhost conf]#vim httpd.conf
再进去配置文件
root@localhost conf]#vim extra/httpd-vhosts.conf
#设置目录访问权限
Options none
#不启用任何的服务器特性
AllowOverride None
#不允许重写Apache默认配置
Require all granted
#允许所有主机访问
在/var/www/html创建刚刚写配置文件的两个域名
[root@localhost conf]#mkdir /var/www/html/{xiaobin,accp}
[root@localhost conf]#echo "this is xiaobin" > /var/www/html/xiaobin/index.html
[root@localhost conf]#echo "this is accp" > /var/www/html/accp/index.html
重启服务
[root@localhost accp]#systemctl restart httpd.service
让我们来测试一下
进入win 7 系统(win 10也行)
输入网址
这样就大功告成了!!!
这里我们用虚拟网卡,做一个测试
[root@localhost extra]#ifconfig ens33:0 192.168.37.188
[root@localhost extra]#vim httpd-vhosts.conf
主配置文件中的53行需要加入虚拟网卡的地址
[root@localhost extra]#vim /usr/local/httpd/conf/httpd.conf
重启服务
[root@localhost extra]#systemctl restart httpd.service
基于IP地址搞定
基于端口和基于IP地址其实也大差不差,只是修改端口
[root@localhost extra]#vim httpd-vhosts.conf
[root@localhost extra]#vim /usr/local/httpd/conf/httpd.conf
最后测试
搞定!!!
[root@localhost extra]#vim /usr/local/httpd/conf/httpd.conf
[root@localhost extra]#vim /usr/local/httpd/conf/extra/httpd-default.conf
选项解释
Timeout 60
#超时60秒KeepAlive On
#设置是否打开连接保持功能,后面接OFF表示关闭,接on表示打开。可以根据网站的并发请求量决定是否打开,即在高并发时打开连接保持功能,并发量不高时关闭此功能MaxKeepAliveRequests 100
#用于限制在一次长连接中可以传输的最大请求数量,超过允许的请求数量就会断开连接,最大值得设置取决于网站中国网页的内容,一般设置数量会多于网站中的所有元素。 如果将此值设为"0",将不限制请求的数目。KeepAliveTimeout 5
#设置持久链接中服务器在两次请求之间等待的秒数。对于高负荷服务器来说, KeepAliveTimeout 值较大会导致一些性能方面的问题: 超时值越大,与空闲客户端保持连接的进程就越多
创建用户认证数据文件
htpasswd:管理用户基本认证文件
语法格式:htpasswd [参数] [用户和密码]
常用参数:
-c | 创建一个加密文件 |
-n | 不更新加密文件,只将加密后的用户名密码显示在屏幕上 |
-m | 默认采用MD5算法对密码进行加密 |
-d | 采用CRYPT算法对密码进行加密 |
-p | 不对密码进行进行加密,即明文密码 |
-s | 采用SHA算法对密码进行加密 |
-b | 在命令行中一并输入用户名和密码而不是根据提示输入密码 |
-D | 删除指定的用户 |
[root@localhost ~]#cd /usr/local/httpd/bin/
[root@localhost bin]#ls
ab apr-1-config apxs dbmmanage envvars-std htcacheclean htdigest httpd logresolve
apachectl apu-1-config checkgid envvars fcgistarter htdbm htpasswd httxt2dbm rotatelogs
可以看到bin下有htpasswd文件
创建一个网页用户,设密码
[root@localhost conf]#htpasswd -c /usr/local/httpd/conf/user zhangsan
New password:
Re-type new password:
Adding password for user zhangsan
编辑配置文件
[root@localhost extra]#vim httpd-vhosts.conf
重启服务
[root@localhost extra]#systemctl restart httpd.service
效果多了一层认证