apache笔记
一)两种工作模式
Prefork和worker
prefork模式: 一个进程响应一个请求
主进程生成多个工作进程,由工作进程一对一的去响应客户端的请求
过程:
1)用户空间有个具有控制权限的Http,监听80端口,但并不处理链接请求,每个用户请求过来分配一个进程;
2)进程系统调用通过内核去硬盘读取资源;
3)数据分页加载,在内核中缓存一分再复制给用户空间
优缺点:
1)这种模式可以不必在请求到来时再产生新的进程,从而减少系统的开销
2)可以防止意外的内存泄露
3)在服务器负载下降时,会自动减少子进程数
worker模式:
主进程生成多个工作进程,每个工作进程生成一个多个线程,每个线程去
响应客户端的请求
一个线程响应一个请求;多进程;一个进程生成多个线程
虚拟主机:
基于IP的虚拟主机;基于端口的虚拟主机;基于域名的虚拟主机
基于IP的虚拟主机:
1)绑定IP
ifconfig etho:1 192.168.3.101
Ifconfig etho:2 192.168.3.102
2)配置主机的host文件便于测试:
cat /etc/hosts
192.168.3.101 www.test101.com
192.168.3.102 www.test102.com
3)建立虚拟主机存放网页的根目录并建立首页文件index.html
mkdir /data/www
cd /data/www
mkdir 101
mkdir 102
4)修改httpd.conf,在文件末尾加入以下配置
Listen 192.168.3.101:80
Listen 192.168.3.102:80
NameVirtualHost 192.168.3.101:80
NameVirtualHost 192.168.3.102:80
include conf/vhost/*.conf
5)编辑每个IP的配置文件
mkdir -p vhost
cd vhost
vim www.test101.conf
<VirtualHost 192.168.3.101:80>
ServerName www.test101.com
DocumentROot /data/www/101
<Directory “/data/www/101/”>
Options Indexes FollowSymLinks
AllowOverride None
Order allow,deny
Allow allow,deny
Allow From All
</Directory>
</VirtualHost>
6)配置完重启服务
基于端口的虚拟主机
1)修改httpd.conf
listen 192.168.3.104:7081
listen 192.168.3.104:8081
NameVirtualHost 192.168.3.104:7081
NameVirtualHost 192.168.3.104:8081
2)编辑每个IP的配置文件
<VirtualHost 192.168.3.104:8081>
ServerName www.test104.com
DocumentROot /data/www/port/8081
<Directory “/data/www/port/8081”>
Options Indexes FollowSymLinks
AllowOverride None
Order allow,deny
Allow allow,deny
Allow From All
</Directory>
</VirtualHost>
基于域名的虚拟主机
编辑每个域名的配置文件
<VirtualHost *:80>
ServerName www.test105.com
DocumentROot /data/www/www.mimi.com
<Directory “/data/www/www.mimi.com/”>
Options Indexes FollowSymLinks
AllowOverride None
Order allow,deny
Allow allow,deny
Allow From All
</Directory>
</VirtualHost>