apache httpd基于域名的虚拟主机配置案例


开始讲之前先墨迹两个基础知识,httpd.conf的主配置文件中的部分说明解释:
ServerTokens 在页面下发显示服务器及apache版本相关信息
Timeout n 等待三次握手的时间,不然你发起了大量三次握手的第一次连接后就再也不理我了,我也不能傻等的空消耗资源啊
KeepAlive On 开启长连接
MaxKeepAliveRequest 100长连接最多一次请求100个资源
KeepAliveTimeout 15 长连接的时间设定为15秒

apache的工作机制有四种,叫做MPM(多道处理模块),查看当前支持哪种模块:httpd -l,四种MPM大体解释如下:
mpm_winnt:Windows上用的,这就不逼逼了
prefork:预先生成进程,一个请求用一个进程响应
worker:基于线程来工作的,一个请求用一个线程响应
event:基于事件驱动模型,一个进程处理多个请求

好了,现在开始场景设计,服务器IP是192.168.100.24,在这个服务器上的192.168.100.24的80端口上跑2个网站,www.baidu.com和www.qq.com,配置步骤如下:
1、编辑/etc/httpd/conf/httpd.conf,注释DocumentRoot "/var/www/html"这一行,注释了他就表示启用虚拟主机。特别说明,以前的版本光注释了他还不行,还需要在配置文件中写明在哪个地址的哪个端口上启用虚拟主机,比如加一行:

NameVirtualHost 192.168.100.24:80,但是2.4.x的httpd版本就不需要这一行了。
2、创建baidu站点配置文件,如下:
vim /etc/httpd/conf.d/baidu.conf
<VirtualHost 192.168.100.24:80>
  ServerName www.baidu.com
  DocumentRoot "/var/www/baidu"
  CustomLog "/var/log/http-baidu.log" combined
</VirtualHost>
3、创建qq站点配置文件,如下:
vim /etc/httpd/conf.d/qq.conf
<VirtualHost 192.168.100.24:80>
  ServerName www.qq.com
  DocumentRoot "/var/www/qq"
  CustomLog "/var/log/http-qq.log" combined
</VirtualHost>
4、创建他们2个站点的文件目录并提供首页
mkdir /var/www/baidu /var/www/qq
vim /var/www/baidu/index.html
来了,二狗

vim /var/www/qq/index.html
走了,二狗

5、启动httpd服务
systemctl start httpd

6、客户端测试
把windows客户端hosts文件解析www.qq.com和www.baidu.com解析到192.168.100.24上,然后通过浏览器来访问这2个域名


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM