apache配置文件详解(二)
2024-08-17 10:05:12 219人阅读
一、apache工作模式的区别
perfork 一个进程处理一个请求 优点:稳定,进程崩溃不会影响其他进程。缺点:性能很差,占用资源太多。 worker 一个线程处理一个请求 优点:效率较perfork较高。缺点:线程之间会抢占资源,导致线程加锁。 event 一个线程处理多个请求 |
二、获取apache帮助,可在本地安装
yum -y install httpd_manual |
在服务器站点后加上manual即可
三、apache默认使用perfork模型,如需更改,需修改下面配置文件
vi /etc/sysconfig/httpd 中 HTTPD=/usr/sbin/httpd.worker 启用此项,即使用woker模型
rpm -ql httpd |grep bin #查看http支持的模块类型 |
四、查看httpd配置文件包含的模块
[root@localhost conf]# grep "Section" httpd.conf #查看httpd配置文件包含的模块 ### Section 1: Global Environment #全局模块 ### Section 2: ‘Main‘ server configuration #主server模块 ### Section 3: Virtual Hosts #虚拟主机模块 |
注:主server模块和虚拟主机模块不可同时生效,如果启用主server模块表示此服务器中只提供一个web服务,如需启用虚拟主机,只需注释主server的DocumentRoot即可
五、各大模块介绍
1、全局模块
{ 102 <IfModule prefork.c> #perfork工作模式配置 103 StartServers 8 #初始开启进程数 104 MinSpareServers 5 #最少空闲进程数 105 MaxSpareServers 20 #最大空闲进程数 106 ServerLimit 256 #系统最大进程数 107 MaxClients 256 #最大客户端连接数(如要改变需先停止服务) 108 MaxRequestsPerChild 4000 #每个进程最多相应请求次数。如果达到,直接杀掉 109 </IfModule>
118 <IfModule worker.c> #worker工作模式配置 119 StartServers 4 #初始开启进程数 120 MaxClients 300 #最大客户端连接数(如要改变需先停止服务) 121 MinSpareThreads 25 #最小空闲线程 122 MaxSpareThreads 75 #最大空闲线程 123 ThreadsPerChild 25 #一个进程生成的线程 124 MaxRequestsPerChild 0 #每个线程处理的请求数 125 </IfModule>
136 Listen 80 #监听服务器所有地址的80端口
150 LoadModule auth_basic_module modules/mod_auth_basic.so #定义服务所加载的模块 ....... 151 LoadModule auth_digest_module modules/mod_auth_digest.so #格式为:模块名称 模块路径
221 Include conf.d/*.conf #主配置文件组成部分
242 User apache #apache规定所有进程都由普通用户管理,默认使用apache用户管理 243 Group apache }
|
2、主server模块
{ 245 ### Section 2: ‘Main‘ server configuration 262 ServerAdmin root@localhost #server服务管理员邮箱 276 ServerName www.morgan.com #定义服务域名,如果不启用,apache启动时会使用本机地址和localhost作为访问。 292 DocumentRoot "/var/www/html" #网页根目录,可自定义 317 <Directory "/var/www/html"> #定义DocumentRoot访问属性 331 Options Indexes FollowSymLinks #indexes表示开启目录遍历,为none表示所有选项都不支持。FollowSymLinks表示允许访问连接指向的源文件。 338 AllowOverride None #允许覆盖下面两项,使用AuthConfig表示使用密码认证 343 Order allow,deny #访问控制列表顺序,先允许,后拒绝 344 Allow from all #允许所有人访问 346 </Directory>
360 <IfModule mod_userdir.c> #定义是否允许用户在自己家目录下创建网页文件 366 UserDir disabled #如改为public_html表示允许用户在自己家目录中创建public_html网页文件 375 </IfModule>
402 DirectoryIndex index.html index.html.var #定义默认访问页面 409 AccessFileName .htaccess #单目录定义访问控制(不建议开启)
415 <Files ~ "^\.ht"> #定义以.ht开头的文件均不允许访问.ht开头文件大都是密码文件 416 Order allow,deny 417 Deny from all 418 Satisfy All 419 </Files>
425 TypesConfig /etc/mime.types #定义apache支持的多媒体文档,支持的多媒体类型保存在mime.types 436 DefaultType text/plain #如不指定上面的多媒体类型,则默认使用纯文本文档
456 HostnameLookups Off #定义在访问日志中是否记录客户端的主机名(非常浪费资源)
484 ErrorLog logs/error_log #定义错误日志 491 LogLevel warn #定义日志级别
497 LogFormat "%h %l %u %t \"%r\" %>s %b \"%{Referer}i\" \"%{User-Agent}i\"" combined #定义日志机制 526 CustomLog logs/access_log combined #定义访问日志路径和记录日志机制类型
551 Alias /icons/ "/var/www/icons/" #定义网站路径别名
921 <Location /server-status> #定义查看服务器的状态 922 SetHandler server-status #apache内置的server-status的Handler 923 Order allow,deny 924 Allow from 192.168.11.4 #在生产环境中不建议对所有用户开放,所以应定义只允许管理员访问 925 </Location> } |
六、访问控制的地址表示方式:
IP network/netmask 域名 部分IP:如 172.16, |
七、apache开启认证(将下面的配置放在主server或者虚拟主机模块中,结合server配置使用)
338 AllowOverride AuthConfig #使用认证配置 AuthType Basic #认证类型 AuthName "apache_site" #认证名称 AuthUseFile "/etc/httpd/conf/htpasswd" #定义密码文件 AuthGroupFile "/etc/httpd/conf/htgroup" #定义允许登陆的组 Require valid-user #表示允许文件中所有用户登陆,如使用user ***表示使用文件中某些用户登陆,如使用group表示使用组来访问 |
创建登陆的用户文件
htpasswd -c -m /etc/httpd/conf/htpasswd 用户名,以此输入密码即可 |
如要使用组内用户登陆
直接创建htgroup文件即可
如echo "myusers:tom lilei" > htgroup myusers是定义组名,后面跟要登陆的用户。
注:使用组名来认证时,必须和密码文件同时使用。
本文出自 “亮公子” 博客,请务必保留此出处http://iyull.blog.51cto.com/4664834/1864367
apache配置文件详解(二)
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉:
投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。