Apache

Apache的三种工作模式(服务器响应客户端的连接方式)

prefork MPM

(1)对每个客户端的连接,服务器端开启一个独立的进程做响应

(2)适用于少量点击,后台程序较多

worker MPM

(1)Apache的主程序,开启多个进程响应客户,进程衍生出多个线程,线程对应客户连接

(2)适用于点击量较大,并发量多的站点

event MPM

(1)针对不同的用户登录开启不同的进程,由进程衍生出多个线程,线程对应客户的连接

(2)用户登录和权限设置


实验环境:DNS10.2 网站10.6 Linux客户端10.10 windows客户端10.11


实验:

1、安装Apache程序包:httpd


2、设置网站的工作模式

vim /etc/httpd/conf.modules.d/00-mpm.conf


主配置文件

vim /etc/httpd/conf/httpd.conf


Serverroot /etc/httpd   该服务的配置文件的存放路径

ServerAdmin             该站点的管理员邮箱

listen 80               指定网站的服务端口

Documentroot            指定主页文件的存放路径

Directoryindex          指定主页文件名

Addefaultchar set UTF-8 设置网站的编码格式

user Apache             客户端访问时以Apache的身份来访问服务器

group Apache            安装完软件后自动创建Apache和Apache组

Servername              指定网站的FQDN和端口


3、启动服务命令

#systemctl restart httpd  graceful 优雅的重启

#systemctl enable  httpd

#systemctl status  httpd


4、设置主页配置文件

cd /var/www/html


echo "www.baidu.com" > index.html


5、Linux客户端(字符界面)

安装程序包elinks   lynx

#links http://server_ip或FQDN (FQDN需要借助DNS服务器解析DNS)


实验 一   131行

修改配置文件 vim /etc/httpd/conf/httpd.conf

【访问控制:指定哪些客户端能访问服务器】


7.0版本

<Directory "/var/www/html">       

<requireall> 

Require all  granted              允许所有客户端访问

Require all  denied               拒绝所有客户端访问

Requireip 192.168.10.10     只允许10.10客户端访问

Require not ip 192.168.10.11     只拒绝10.11客户端访问 

Require ip 192.168.10.0/24   只允许10.0段客户端访问

Require not ip 192.168.10.0/24   只拒绝10.0段客户端访问

</requireall>

</Directory>

若为拒绝的,即:··not ip:·· 

要在前面加<requireall>  后加</requireall>


7.0以前版本(7.0也支持)

order deny,allow      指定读取规则的顺序,后读覆盖先读

allow from  all        允许所有的客户端进行访问  192.168.10.10

deny  from  all 


实验 二   131行

修改配置文件 vim /etc/httpd/conf/httpd.conf

【身份验证:用户登录后再打开页面】


vim /etc/httpd/conf/httpd.conf

找到<Directory "/var/www/html">

添加

authtype basic                       指定使用基本的验证方式

authname "welcome to baidu"          设置提示信息 

authuserfile "/etc/httpd/userlist"   指定用户列表存放路径及文件名


<requireall>

require valid-user                   允许所有用户在列表中的用户登录访问

require user lisa                    只允许lisa访问

require not user snow                只拒绝snow访问

</requireall>

</Directory>

  

制作用户列表

htpasswd -c /etc/httpd/userlist    第一次添加新用户名

htpasswd    /etc/httpd/userlist      用户名


实验 三  #151 

修改配置文件 vim /etc/httpd/conf/httpd.conf

 AllowOverride none    遵守主配置文件的设置(访问控制和身份验证)

 AllowOverride all    则不遵守主配置文件,遵守本目录下的.htaccess文件设置


配置文件路径vim /var/www/html/.htaccess


order deny,allow

allow from 192.168.10.10

deny from all

authtype basic

authname "www.baidu.com"

authuserfile /etc/httpd/userlist

require valid-user


[注]用户登录站点,将遵守访问控制和身份验证的双重限制


实验 四 144行


【浏览权限:在主页文件存放目录中没有主页文件,加入浏览权限显示目录下的所有内容】

Options Indexes(浏览权限) FollowSymLinks(允许利用软链接创建一个虚拟目录)


#mkdir /var/www/html/abc

#echo "www.abc.baidu.com" > index


【虚拟目录】

#cd /var/www/html

#ln -s /var varinfo  原文件 链接文件名


实验 五


【虚拟主机:在一台服务器上搭建多个站点】

基于FQDN访问时需要借助DNS的辅助

基于IP地址给网卡设置多个ip,让不同的站点工作在不同的ip

基于端口让不同的站点工作在不同的端口上


基于FQDN(全程域名)


vim /etc/httpd/conf/httpd.conf


在最下面一行添加

namevirtualhost   192.168.10.6          指定虚拟主机业务的服务网卡

<virtualhost      192.168.10.6:80>      指定虚拟主机工作的IP地址和端口

documentroot  /var/www/html/sina    指定主页文件的存放路径

servername        www.sina.com          指定站点的FQDN

</virtualhost>


namevirtualhost   192.168.10.6

<virtualhost  192.168.10.6:80>

documentroot  /var/www/html/sohu

servername  www.sohu.com

</virtualhost>

保存退出



新建主页文件目录路径

#mkdir /var/www/html/sina /var/www/html/sohu


#echo "www.sina.com" > /var/www/html/sina/index.html

#echo "www.sohu.com" > /var/www/html/sohu/index.html


DNS服务器设置

新建sina和sohu区域

新建区域文件


[注]若设置了虚拟主机,原站点将不可用