一、相关web配置文件
/home/was/was61/HTTPServer/bin
./apachetl start
/home/was/was61/HTTPServer/conf/httpd.conf
/home/was/was61/HTTPServer/Plugins/config/webserver1/plugin-cfg.xml
二、 httpd 的配置文件说明
more /home/was/was61/HTTPServer/conf/httpd.conf
2.1、持久连接
PidFile logs/httpd.pid
Timeout 150
KeepAlive On
MaxKeepAliveRequests 1000 // 持久连接最大请求数
KeepAliveTimeout 10 --> 5 // 超时时间
2.2、MPM参数
多道处理模块 MPM ,查看系统默认启用的模块
# httpd –l
Compiled in modules:
core.c
prefork.c # 默认启用 prefork 模块
httpd_core.c
mod_so.c
生产上
[WYWEB01]:/home/was/was61/HTTPServer/bin>./apachectl -l
Compiled in modules:
core.c
worker.c
http_core.c
mod_suexec.c
mod_so.c
配置模块信息
ThreadLimit 100 --> 200
ServerLimit 120 --> 20/45
StartServers 10
MaxClients 12000 --> 4000/9000
MinSpareThreads 100 --> 400
MaxSpareThreads 300 --> 600
ThreadsPerChild 100 --> 200
MaxRequestsPerChild 0
# ThreadLimit: maximum setting of ThreadsPerChild
每个子进程建立的常驻的执行线程数的最大值,即 ThreadsPerChild 的最大值
# ServerLimit: maximum setting of StartServers
服务器启动时建立的子进程数的最大值,即 StartServers 的最大值
# StartServers: initial number of server processes to start
服务器启动时建立的子进程数
# MaxClients: maximum number of simultaneous client connections
允许同时伺服的最大接入请求数量 ( 最大线程数量 ) , ServerLimit*ThreadsPerChild 。要增加 MaxClients ,必须增加 ServerLimit 的值。
# MinSpareThreads: minimum number of worker threads which are keptspare
最小空闲线程数,这个 MPM 将基于整个服务器监视空闲线程数。如果服务器中总的空闲线程数太少,子进程将产生新的空闲线程
# MaxSpareThreads: maximum number of worker threads which are keptspare
最大空闲线程数,这个 MPM 将基于整个服务器监视空闲线程数。如果服务器中总的空闲线程数太多,子进程将杀死多余的空闲线程。 MaxSpareThreads 的取值范围是有限制的。 Apache 将按照如下限制自动修正你设置的值: worker 要求其大于等于 MinSpareThreads 加上 ThreadsPerChild 的和
# ThreadsPerChild: constant number of worker threads in each serverprocess
每个子进程建立的常驻的执行线程数
# MaxRequestsPerChild: maximum number of requests a server processserves
每个子进程在生命周期内所能够服务的最多请求的个数 (0 表示不做限定 ) ,到达 MaxRequestsPerChild 的限制后,子进程将会结束
ThreadLimit 200
ServerLimit 45
StartServers 10
MaxClients 9000
MinSpareThreads 400
MaxSpareThreads 600
ThreadsPerChild 200
MaxRequestsPerChild 0
2.3、配置监听端口
进入 /home/was/was61/HTTPServer/conf 目录,用 VI 编辑 httpd.conf 文件,增加监听端口号,格式为“ Listen 端口号”。注:端口号需要网络组事先分配好,并且不能重复。
2.4、DSO机制装载的模块
显示: # httpd -DDUMP_MODULES
LoadModule Module_Name/path/to/Module_File
可以使用相对路径和绝对路径;相对路径则对于 ServerRoot 所定义的未知而言;
修改了需要重启服务 service httpdrestart
httpd -M # 可以查看系统所有装载模块
[WYWEB01]:/home/was/was61/HTTPServer/bin>./apachectl -D DUMP_MODULES
[WYWEB01]:/home/was/was61/HTTPServer/bin>./apachectl –M
2.5、指定站点根目录
DocumentRoot"/path/to/somewhere"
生产上
DocumentRoot "/home/was/was61/HTTPServer/htdocs"
2.6、站点路径访问控制
基于本地文件系统路径
eg:
Options none
AllowOverride None
Order allow,deny
Allow from all
Options none
AllowOverride None
Order allow,deny
Allow from all
Options none
AllowOverride None
Order allow,deny
Allow from all
基于 URL 访问路径做访问控制
eg:
#
# SetHandler server-info
# Order deny,allow
# Deny from all
# Allow from .example.com
#
2.7、于Directory中可用的访问控制
(1) Options
Indexes: 当访问的路径下无默认的主页面,将所有资源以列表形式呈现给用户;危险,慎用;
FollowSymlinks: 跳跃符号链接
(2) AllowOverride
支持在每个页面目录下创建 .htaccess 用于实现对此目录中资源访问时的访问控制功能。
2.8、基于IP做访问控制
Order allow,deny
Deny from172.16.100.17
Allow from 172.16.0.0/16
2.9、定义默认的主页面
DirectoryIndex
from 后面能接受的地址格式:
IP, Network Address
网络地址格式较为灵活:
172.16
172.16.0.0
172.16.0.0/16
172.16.0.0/255.255.0.0
2.10、配置日志功能
ErrorLog "/path/to/error_log"
LogLevel{debug|info|notice|warn|error|crit|alert|emerg}
LogFormat
CustomLog "/path/to/access_log" LogFormat_Name
%h: 客户端地址
%l: 远程登录名,通常为 -
%u: 认证时输入用户名,没有认证时为 -
%t: 服务器收到 用户请求时的时间
%r :请求报名的起始行
%>s: 响应状态码
%b: 响应报文的长度,单位是字节
%{HEADER_NAME}i: 记录指定首部对应的值
eg:
LogLevel warn
LogFormat "%h %l %u %t \"%r\" %>s %b\"%{Referer}i\" \"%{User-Agent}i\"" combined
LogFormat "%h %l %u %t \"%r\" %>s %b" common
LogFormat "%{Referer}i -> %U" referer
LogFormat "%{User-agent}i" agent
ErrorLog "|/home/was/was61/HTTPServer/bin/rotatelogs/home/was/was61/HTTPServer/logs/error_log.%y%m%d%H 86400 +480"
TransferLog "|/home/was/was61/HTTPServer/bin/rotatelogs/home/was/was61/HTTPServer/logs/access_log.%y%m%d%H 86400 +480"
2.11、路径别名
站点根目录: /www/html
http://www.magedu.com/images/logo/new.gif
此文件位置: /www/html/images/logo/new.gif
实现 URL 路径的映射,从而所访问的资源不再依赖于站点根目录;
Alias /URL/"/path/to/somewhere/"
eg: Alias /icons/"/home/was/was61/HTTPServer/icons/"
2.12、CGI脚本
CGI 脚本路径别名
CGI 动态网关接口
/var/www/cgi-bin/
http://server/cgi-bin/
bash 写 CGI 脚本:
所有文本都使用命令输出: echo, printf, cat
执行程序:命令引用
Content-Type:text/html
FastCGI: 协议
2.13、基于用户访问控制
用户认证 :
基本认证 : Basic
摘要认证: digest
虚拟用户:仅用于访问某服务或获取某资源的凭证;
文本文件: .htpasswd
SQL 数据库
dbm: 数据库引擎,提供 API
ldap: 轻量级目录访问协议
authenticationprovider: 账号和密码的存储机制;
authn
authorization provider: 授权
案例:基于文件做访问控制
(1) 基于用户进行认证
Options none
AllowOverride AuthConfig
AuthType Basic
AuthName "Admin Area."
#AuthBasicProvider file
AuthUserFile /etc/httpd/conf/.htpasswd
Require valid-user
Requirevalid-user: 文件中所有用户均可访问
Require userUSERNAME, ...
(2) 提供认证文件
htpasswd
-c: 如果此文件事先不存在,则创建;注意,只能在创建第一个用户时使用;
-m :以 md5 的格式编码存储用户的密码信息
-D :删除指定用户
(3) 组认证
Options none
AllowOverride AuthConfig
AuthType Basic
AuthName "Admin Area."
#AuthBasicProvider file
AuthUserFile /etc/httpd/conf/.htpasswd
AuthGroupFile /etc/httpd/conf/.htgroup
Require group GROUP_NAME
组文件:
组名: user1 user2 user3
2.14、虚拟主机
虚拟主机:使用不同访问路径
虚拟主机是使用特殊的软硬件技术,把一台真实的物理电脑主机分割成多个的逻辑单元,每个单元都没有物理实体,但是每一个物理单元都能像真实的物理主机一样在网络上工作,具有单独的 IP 地址 ( 或共享的 IP 地址 ) 以及完整的 Internet 服务器功能。
基于端口
基于 IP
基于主机名
(1) 使用虚拟的前提:取消主服务器
注释主服务器的站点根路径指定: DocumentRoot
(2) 定义虚拟主机
NameVirtualHostIP:PORT // 基于主机名
ServerName
DocumentRoot
ServerAlias
ErrorLog
CustomLog
配置文件语法检查 :
httpd -t
service httpdconfigtest
配置示例:
ServerName www.mageedu.com
DocumentRoot "/web/hosta"
ServerName www.mageedu.com
DocumentRoot "/web/hostb"
ServerName www.mageedu.com
DocumentRoot "/web/hostc"
测试: elinks
-dump: 获取到页面数据后直接退出进程;
eg: elinks [-dump] www.mageedu.com
eg :
用 VI 编辑 httpd.conf 文件 , 增加虚拟主机,格式如下:
DocumentRoot/home/was/was61/HTTPServer/htdocs/ 成员行主页目录 /
注:端口号必须和上面的监听端口号一致,成员行主页目录下须有相关主页内容。
DocumentRoot
/home/was/was61/HTTPServer/htdocs/tianjinbh/
RewriteEngine on
RewriteCond %{REQUEST_METHOD}^TRACE
RewriteRule .* -[F]
RewriteCond%{REQUEST_METHOD} ^TRACK
RewriteRule .* -[F]
RewriteCond%{REQUEST_METHOD} ^OPTIONS
RewriteRule .* -[F]
运维网声明
1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网 享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com