apache:
NCSA,httpd
A Patchy Server == apache
FSF:GNU、GPL
ASF:apache Software Foundation (apache 软件基金会)
web:httpd
Tomcat
Hadoop
httpd:(1.3、2.0、2.2、2.4)
Web Server,Open Source (0.9、1.0、1.1 1.1增加了缓存功能、支持长连接)
1、事先创建进程
2、适应性按需维持进程(最小最大空闲进程)
3、模块化进程,核心较小,功能通过添加模块来实现(包括php)
4、支持多种方式的虚拟主机配置
单台主机单个web程序,可以提供多个不同的web站点
基于ip的虚拟主机
基于端口的虚拟主机
基于域名的虚拟主机
支持的功能:
https功能(mod_ssl)
用户认证:简单认证、摘要认证、表单认证
支持基于ip或域名的acl
支持每目录的访问控制
支持url重写
/usr/sbin/httpd (MEM:prefork)
httpd:root,root 主导进程(小于1024端口的进程需要root启动),负责维护工作进程
httpd:apache,apache 工作进程
Port:(80/tcp)、(ssl 443/tcp)
/etc/httpd 工作根目录
/etc/httpd/conf 配置文件目录
/etc/httpd/conf/httpd.conf 主配置文件
/etc/httpd/conf.d/*.conf 辅助配置文件
/etc/httpd/modules
/etc/httpd/logs --> /var/log/httpsd
日志文件:访问日志(access_log)、错误日志(err_log)
/var/www/
html 静态网页文件路径
cgi-bin 提供动态内容所使用的路径
cgi:Common Gateway Interface(通用网关接口)
Client-->httpd(index.cgi)-->Spwan Process(index.cgi)-->httpd--Client
fastcgi
程序:指令和数据
数据:数据库服务
httpd服务:
配置文件:
directive values
指令不区分大小写
Values则根据需要有可能区分
测试web服务的专业工具:LoadRunner
MPM:Mutil Path Modules(多道处理模块)
mpm_winnt:windows专用的(windows本身支持多线程)
prefork:一个请求用一个进程处理
worker:一个请求用一个线程响应,启动多个进程,每个进程启动多个线程,有锁机制的资源征用
event:一个进程处理多个请求,2.2不支持此种机制,2.4默认使用此种请求模式
Options:
Indexes :允许索引目录
None :不支持任何选项
FollowSymLinks :允许访问符号链接指向的文件
Includes :允许执行服务器端包含相关文档和脚本
ExecCGI :运行CGI脚本
ALL :启用所有
Order:用来定义基于主机的访问控制
Order allow,deny
allow from all
deny from deny
例如:只允许192.168.0.1访问:
order allow,deny
allow from 192.168.0.1
http -t 检测配置文件语法格式
elinks http://host/source/to/path 显示文本网页
-dump 退出交互模式
-source 显示源码
设置网页认证登陆:
首先修改<directory>中的AllowOverride 值为AuthConfig
然后配置:
AuthType basic
AuthName "This is Auth Web ..."
AuthUserFile /etc/httpd/conf/htpasswd
AuthGroupFile /etc/httpd/conf/htgroup
Require group mygrp
Require valid-user
Require user test
组文件是手动创建的:mygrp:test1 test2
然后建立认证文件,添加、删除用户:
htpasswd
-c 首次添加密码文件时使用
-m 添加用户
-D 删除用户
htpasswd -c -m /etc/httpd/conf/htpasswd test1
虚拟主机:
apache服务:
服务于多个不同的站点
apache:
中心主机
虚拟主机
基于IP
IP1:80
IP2:80
基于端口
IP:80
IP:8080
基于域名
IP:80
主机名不同
要想需您主机生效需要先注释中心主机,方法:注释DocumentRoot即可
配置文件内容:
<VirtualHost Host> Host的定义:基于虚拟主机的三种方式
ServerName
ServerAlias
DocumentRoot "/www/test1/"
<Directory "/www/test1"> 这里是相对于文件系统目录做的属性定义
Options
AllowOverrdie
</Directory>
Alias
ErrorLog
CustomLog
<Location "/first"> 这里是对url链接目录做的属性定义
定义请求方法
</Location>
ScriptAlias
</VirtualHost>
动态分类:
客户端动态
服务端动态