HTTP

HTTP
一、什么是Apache HTTP
是在windows与unix等平台上都可以运行的跨平台开源HTTP服务器软件,旨在提供安全、高效、可扩展的HTTP服务。
主要优点:开放源代码、跨平台应用
     支持多种网页编程语言
     模块化设计、运行稳定、良好的安全性


二、安装与配置
1.主要软件包
httpd:程序包
httpd-manual:网页版手册文档
httpd-devel:开发工具包

2.服务程序相关
系统服务脚本:/etc/init.d/httpd
默认端口:TCP 80
进程名:httpd
进程所有者;apache
 
3.主要目录和文件
服务目录:/etc/httpd/
主配置文件:/etc/httpd/conf/httpd.conf
配置目录:/etc/httpd/conf.d/
网站根目录:/var/www/html/
模块目录:/etc/httpd/modules/
访问日志:/var/log/httpd/access_log
错误日志:/var/log/httpd/error_log

4.基本部署思路
(1:确定网站名称、IP地址
(2:配置httpd,启动服务程序
(3:部署网页文档
(4:在客户机中访问web站点
(5:查看web访问情况 

5.配置文件结构
全局设置:配置参数 值
目录设置:<Directory 目录>
       ......
     </Directory>

访问位置设置:<Location URL>
         .....
        </Location>
虚拟主机设置:<VirtualHost 监听地址>
             ......
        </VirtualHost>

6.常用的全局设置参数
ServerName:本站点的FQDN名称
DocumentRoot:网页文档的根目录
DirectoryIndex:默认索引页/首页文件
Errorlog:错误日志文件的位置
Customlog:访问日志文件的位置
Listen:监听服务的IP地址、端口号
PidFile:保存httpd进程PID号的文件
ServerRoot:服务目录
ServerAdmin:管理员邮箱
User:服务进程的属主,默认为apache
Group:服务进程的属组,默认为apache
Timeout:网络连接超时
KeepAlive:是否保持连接,可选On或Off
MaxKeepAliveRequests:每次连接最多处理的请求数
KeepAliveTimeout:保持连接的超时时限
Include:可包含其他子配置文件
Options Indexes FollowSymlinks:自动创建索引与显示链接配置语句,不用可以在前面加-



三、实践
1.访问控制

Order:定义控制顺序,可以允许或拒绝哪些客户端可以访问
    Allow,deny 先允许后拒绝,默认拒绝所有
    Deny,allow 先拒绝后允许,默认允许所有
例:只允许192.168.4.0网段访问
<Directory /var/www/html>
       Order allow,deny
         Allow from 192.168.4.0/24
</Directory>

2.为目录区段设置授权
AuthName:认证领域名称,用于弹窗提示
AuthType:认证类型,一般使用basic
AuthUserFile:登录用户数据文件的路径
Require:指定授权用户或组(常见用法:Require valid-user  或者Require user 用户1 用户2 ...)
          

生成http基本认证的用户数据文件
htpasswd [-c] 账号文件 用户名
注:-c 表示新建,如果修改密码或增加用户无需-c

例::<Directory /var/www/html/authdir>
AuthName "Need Authorization!!"
AuthType basic
AuthUserFile /etc/httpd/auth.ulist
Require valid-user
     </Directory>

3.进程规模控制
默认已经存在,在主配置文件中的<IfModule ...>中
进程有关配置语句
StartServers:启动服务时创建的进程数
MinSpareServers:最少空闲进程数
MaxSpareServers:最多空闲进程数
ServerLimit:MaxClients的可设置上限
MaxClients:最多进程数,应小于ServerLimit
MaxRequestsPerChild:每个进程最多处理的请求


4.目录别名
通过创建别名,用户在访问时显示的页面跳转到其它位置
在主配置文件最后加
Alias /doc "/var/www/doc/"

四.网站虚拟主机
让一台服务器提供多个网站内容

虚拟主机的类型/区分方式
基于域名
基于IP地址
基于端口

如何实现(基于域名

1.为各虚拟站点准备网页
2.实现
vim /etc/httpd/conf.d/vhosts.conf  //建立虚拟主机配置文件,文件名随意,后辍必须为.conf
NameVirtualHost 192.168.4.5  //服务的IP地址
<VirtualHost 192.168.4.5>  //虚拟站点1
DocumentRoot /var/www/html/liufu //页面位置
ServerName www.liufu.com   
</VirtualHost>
<VirtualHost 192.168.4.5>  //虚拟站点2
DocumentRoot /var/www/html/baitao
ServerName www.baitao.com
</VirtualHost>




五.网站日志分析
通过安装AWStats软件方便查询到页面的浏览量,访问者地区,文件点击数排名,哪些栏目点击数最高,用户找到这个网站用了哪些关键词,浏览器类型等相关更加人性化信息
下载站点:http://awstats.sourceforge.net/
建议解包至:/usr/local/

./awstats_configure.pl   
>/etc/httpd/conf/httpd.conf  //指定web配置路径
?y                   //同意创建新的站点配置
>tts6.tarena.com        //指定网站标识
>            //回车,接受配置路径/etc/awstats
>            //回车,继续
>            //回车,完成配置

vim /etc/awstats/awstats.tts.tarena.com.conf
LogFile="/var/log/httpd/access_log"  //要分析的日志文件
Lang="cn"     //界面语言
DirData="/var/lib/awstats"  //默认工作目录

根据默认设置创建对应的工作目录
mkdir /var/lib/awstats


手动执行,更新所有站点
./awstats_updateall.pl now

添加到计划任务
*/5 * * * * /usr/local/awstats/tools/awstats_updateall.pl now

查看分析结果
http://服务器地址/awstats/awstats.pl?config=网站标识

简化访问地址
vim /var/www/html/aw-svr5.html
<html><head>
<meta http-equiv=refresh content="0;url=http://192.168.4.5/awstats/awstats.pl?config=svr5.tarena.com">
</head>
<body></body></html>







 Options Indexes FollowSymLinks

你可能感兴趣的:(http)