httpd:
/usr/sbin/httpd(MPM:prefork)
httpd:root,root (master process)
httpd:apche,apache (worker process)
/etc/rc.d/init.d/httpd 服务启动脚本文件
port: (80/tcp),(ssl:443/tcp)
/etc/httpd:工作根目录,相当于程序安装目录
/etc/httpd/conf:配置文件目录
主配置文件:httpd.conf
/etc/httpd/conf.d/*.conf
/etc/httpd/modules:Apache模块目录
/etc/httpd/logs ---> /var/log/httpd: 日志目录
日志文件: 访问日志accessl_log 错误日志:err_log
/var/www
html 静态网页
cgi-bin 动态网页
cgi:common gateway interface 通用网关接口
client ---》 httpd (index.cgi) ---> spawn process (index.cgi)
perl, python, java,(servlet,JSP), php
[root@localhost conf]# pwd
/etc/httpd/conf[root@localhost conf]# grep "Section" httpd.conf
### Section 1: Global Environment 全局环境
### Section 2: ‘Main‘ server configuration 主服务配置
### Section 3: Virtual Hosts 虚拟主机
全局环境
httpd:
directive value
指令不区分字符大小写
value则根据需要有可能要区分
ServerTokens OS 输出 -----指令快速参考(官网)
ServerRoot "/etc/httpd" 根目录
PidFile run/httpd.pid 服务程序的pid号文件
Timeout 60 tcp协议相关(三次握手超时时间,连接超时)
KeepAlive Off 常链接(访问量少开启)
MaxKeepAliveRequests 100 限制请求资源数量 0不限制
KeepAliveTimeout 15 保持常连接时间
MPM:Multi Path Madules
mpm_winnt windows专用
linux
prefork (一个请求用一个进程响应)
worker (一个请求用一个线程响应)
event (一个进程响应多个请求) 2.4版本支持
[root@localhost httpd]# httpd -l 显示模块信息
Compiled in modules:
core.c
prefork.c
http_core.c
mod_so.c
更改模块
[root@localhost httpd]# vim /etc/sysconfig/httpd
#HTTPD=/usr/sbin/httpd.worker 去掉#即可
[root@localhost httpd]# httpd.worker -l
Compiled in modules:
core.c
worker.c
http_core.c
mod_so.c
prefork模块设置参数
<IfModuleprefork.c>
StartServers 8 启用8个空闲进程
MinSpareServers 5 最少空闲进程
MaxSpareServers 20 最大空闲进程
ServerLimit 256 同时 限制连接数 需要关掉所有进程再更改
MaxClients 256 同时最大连接数
MaxRequestsPerChild 4000 一个进程响应的最大请求数(生成的最大子进程数)
</IfModule>
worker模块设置参数
<IfModuleworker.c>
StartServers 4 进程数
MaxClients 300 最大连接数
MinSpareThreads 25 最小空闲线程(所有进程)
MaxSpareThreads 75 最大空闲线程(所有进程)
ThreadsPerChild 25 一个进程生成的线程数
MaxRequestsPerChild 0 一个进程响应的请求,无法确认
</IfModule>
Listen 80 监听端口
LoadModule foo_module modules/mod_foo.so 模块名称和路径
参考:http://www.linuxidc.com/Linux/2012-07/65063.htm
Include conf.d/*.conf .conf 都是主配置文件
User apache 进程的用户
Group apache
=====================================================
主服务配置
ServerAdmin root@localhost
DocumentRoot "/var/www/html" 网页文件目录
<Directory "/var/www/html">
Options
none 不支持任何选项
Indexes: 允许索引目录
FollowSymLinks 允许访问符合链接指向的源文件 ln -s a.txt /etc/fstab
Includes:允许执行服务器保护(SSI)
ExecCGI:允许执行CGI脚本
ALL:启用所有选项
order:用于定义基于主机的访问功能的,IP,网络地址或主机定义访问控制机制
Order allow,deny
allow from
deny from
Order allow,deny
Deny from
AllowOverride None 认证
AuthConfig 启用认证
AuthType Basic
AuthName "Restricted Files"
AuthUserFile “/etc/httpd/conf/.htpasswd”
Required user xx 允许特定用户
vaild-user 允许所有用户访问
AuthGroupFile “/etc/httpd/conf/.htgroup”
htpasswd -c -m /etc/httpd/conf/htpasswd hadoop
-m /etc/httpd/conf/htpasswd tom
vim htpasswd
-dump 显示后退出
-source 显示网页源码