jericho0702 发表于 2018-11-19 09:50:10

apache配置文件详解(二)

  一、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配置文件包含的模块
  # 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             #perfork工作模式配置
103 StartServers       8                   #初始开启进程数
104 MinSpareServers    5                              #最少空闲进程数
105 MaxSpareServers   20                              #最大空闲进程数
106 ServerLimit      256                              #系统最大进程数
107 MaxClients       256                              #最大客户端连接数(如要改变需先停止服务)
108 MaxRequestsPerChild4000               #每个进程最多相应请求次数。如果达到,直接杀掉
109


118                               #worker工作模式配置
119 StartServers         4                         #初始开启进程数
120 MaxClients         300                         #最大客户端连接数(如要改变需先停止服务)
121 MinSpareThreads   25                         #最小空闲线程
122 MaxSpareThreads   75                         #最大空闲线程
123 ThreadsPerChild   25                     #一个进程生成的线程
124 MaxRequestsPerChild0                     #每个线程处理的请求数
125

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                #定义DocumentRoot访问属性
331   Options Indexes FollowSymLinks             #indexes表示开启目录遍历,为none表示所有选项都不支持。FollowSymLinks表示允许访问连接指向的源文件。
338   AllowOverride None                                 #允许覆盖下面两项,使用AuthConfig表示使用密码认证
343   Order allow,deny                                  #访问控制列表顺序,先允许,后拒绝
344   Allow from all                                       #允许所有人访问
346

360            #定义是否允许用户在自己家目录下创建网页文件
366   UserDir disabled                     #如改为public_html表示允许用户在自己家目录中创建public_html网页文件
375

402 DirectoryIndex index.html index.html.var      #定义默认访问页面
409 AccessFileName .htaccess               #单目录定义访问控制(不建议开启)

415                        #定义以.ht开头的文件均不允许访问.ht开头文件大都是密码文件
416   Order allow,deny
417   Deny from all
418   Satisfy All
419

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         #定义查看服务器的状态   
922   SetHandler server-status   #apache内置的server-status的Handler
923   Order allow,deny
924   Allow from 192.168.11.4      #在生产环境中不建议对所有用户开放,所以应定义只允许管理员访问
925
}
  

  六、访问控制的地址表示方式:
                 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是定义组名,后面跟要登陆的用户。
注:使用组名来认证时,必须和密码文件同时使用。
  




页: [1]
查看完整版本: apache配置文件详解(二)