apache配置文件httpd.conf----小白福利

一、安装apache

  1. 首先yum方式安装http2.2
# yum install httpd -y
	
httpd的主要目录
		/etc/httpd/conf/httpd.conf   主配置文件
		/etc/httpd/conf.d            子配置文件目录
		/var/log/httpd/              日志文件目录(access.log error.log)
		/etc/httpd/modules           模块文件的目录
		/var/www/html                默认网站根目录
  1. 启动httpd
	# service httpd start
	# chkconfig httpd on
	# chkconfig --list httpd

二、配置文件/etc/httpd/conf/httpd.conf

配置1:配置prefork模块功能

<IfModule prefork.c>               <<< 判断是否在使用prefork模块,如果在使用,那么下面的参数生效
	StartServers       8           <<< 启动httpd的时候,启动几个子进程
	MinSpareServers    5           <<< 最少空闲子进程数
	MaxSpareServers   20           <<< 最多空闲子进程数
	ServerLimit      256           <<< 最多活动子进程数
	MaxClients       256           <<< 最大并发数
	MaxRequestsPerChild  4000      <<< 设置当子进程处理了多少个请求后,就立刻回收该子进程
</IfModule>

配置2:配置长连接功能

KeepAlive Off|On               
MaxKeepAliveRequests 100           <<< 长链接处理请求的最大值,超过则断开keepalive
KeepAliveTimeout 15                <<< keepAlive的断开时间

配置3:配置httpd监听的套接字

Listen 80                          <<< 监听所有IP的80端口
Listen 10.220.5.190:80             <<< 监听10.220.5.190的80端口

配置4:配置worker模块功能

<IfModule worker.c>
StartServers         4             <<< 启动4个子进程          
MaxClients         300             <<< 最大并发数
MinSpareThreads     25             <<< 最少空闲线程数  
MaxSpareThreads     75             <<< 最多空闲线程数  
ThreadsPerChild     25             <<< 每个子进程可以创建多个线程
MaxRequestsPerChild  0             <<< 设置当子进程处理了多少个请求后,就立刻回收该子进程(0永不回收)
</IfModule>

配置5:配置DSO

模块

装载:LoadModule ModuleName /path/to/module


补充:
httpd -M:显示所有模块(包括DSO 和 非DSO模块)
httpd -l:显示仅仅是可以使用的非DSO模块

配置6:配置网站根目录

DocumentRoot
默认:/var/www/html

说明:
	访问网站的时候,比如10.220.5.180 的是,默认是去网站根目录下找资源,也就是/var/www/html找资源
	现在资源/var/www/html下的jd目录中,因此找资源的方式,就需要在ip后指定资源所在的目录

配置7:配置默认主页

当客户端没有指定要请求哪个文件,那么就自动发送给客户端一个默认文件,这就是默认首页
DirectoryIndex  

配置8:访问控制

<Directory /path/to/control>
控制的范围:
	整个网站做控制
	网站的某个页面、目录做控制
</Directory>


options
	FollowSymLinks:允许通过符号连接的方式来访问网站根目录下的资源的文件
	Indexes:如果用户没有指定所请求的文件,而且系统中也找不到默认首页,则将全部的文件列表返回给用户

AllowOverride
	指定各个目录下的.htaccess中的控制指令是否可以覆盖掉主配置文件中的控制指令
	None:忽略各个目录下的.htaccess
	All:用各个目录下的.htaccess中的配置覆盖掉主配置文件中的控制指令
	AuthConfig:实现基于用户名/密码的访问控制


对用户的访问控制
1. 基于IP的访问控制
2. 基于用户和密码的访问控制

配置9:基于IP的访问控制

Order:指定次序
	Order Allow Deny
	Order Deny Allow
	【后面的那个是默认值】

Allow from 指定允许访问的主机列表
Deny from 指定禁止访问的主机列表
【多条规则的组合结果】

指定主机列表
	192.168.5.123
	192.168.5.0/24
	192.168.5

例子
    Order Allow Deny
    Allow from 192.168.5.123 192.168.5.124 
    Deny from 192.168.5.123
    
   
Order Allow Deny
	只匹配到allow,按allow处理
	只匹配到deny,按deny处理
	如果两个都匹配到了,则按照默认规则处理
	如果两个都没有匹配到了,则按照默认规则处理

配置10:用户目录

每个系统用户的家目录其实都可以做成一个网站的根目录,访问该用户家目录下的网站的方式
http://ip:port/~userName

配置11:日志

访问日志:
	定义:
		日志格式:LogFormat 格式信息  格式名称
			%h:远程主机的IP地址
			%t:请求时间
			%l:客户端登录网站所用的用户名,客户端没有登录,显示 -
			%u:远程用于做身份认证的用户名,如果没有做认证,显示 -
			%r:请求报文的第一行(请求方法,请求的uri,请求的版本号)
			%s:服务器端所返回的状态值
			\"%{Referer}i\":显示该用户的请求是否为跳转过来的,如果不是跳转来的,显示 - 
			\"%{User-Agent}i\":客户端的浏览器类型

		日志位置:CustomLog  保存位置  格式名称

配置12:设置字符集

AddDefaultCharset UTF-8

配置13:配置路径别名

Alias /error/ "/var/www/error/"

注意:
	结尾必须相同

配置14:配置CGI

CGI:Common Gateway Interface,是一种协议
作用:运行让用户请求一个脚本,然后将脚本的执行结果返回给客户端,这里就用到了CGI协议,CGI协议就是让apache启动一个解释器来执行脚本程序,然后将执行的结果发送给客户端

脚本要想使用CGI执行,并给客户端返回结果,脚本的输出格式是固定
第一行:Content-Type: text/html
第二行:空白行
第三行:这行开始是脚本的正文

a.sh
	#!/bin/bash
	echo "Content-Type: text/html"
	echo ""
	echo "my name is :`hostname`"
	echo "date is: `date`"


CGI找脚本的位置
	ScriptsAlias /cgi-bin/ "/var/www/cgi-bin/"

配置15:配置虚拟主机功能
案例:http基于域名的虚拟主机的实现

发布多个网站
	在网站跟目录下,创建多个子目录,每个子目录是一个网站
	每个网站--虚拟主机



虚拟主机:用一个apache发布多个网站
	1:不同的网站用不同的端口
	2:不同的网站用不同的IP
	3:不同的网站用不同的域名

配置16:状态页面

通过一个页面来显示服务器的状态
功能依赖一个DSO模块:status_module

<Location /server-status>       <<< 指定如何访问这个状态页面
    SetHandler server-status    <<< 指定做状态统计的处理器
    Order deny,allow
    Deny from all                <<< 拒绝所有用户
    Allow from x.x.x.x          <<< 指定可以访问这个页面的客户端列表
</Location>

说明
	一个点就表示一个可以启动,但是尚未启动的进程
	一个_ 表示一个等待使用的进程
	如果一个进程被使用,位置上就会出现一个字母

配置17:页面压缩

功能依赖一个DSO模块:deflate_module
作用:减少传输的数据量,但是带来额外的系统开销

SetOutPutFilter DEFLATE                      <<< 启动页面压缩功能
<IfModule mod_deflate.c>
   AddOutPutFilterByType DEFLATE text/html   <<< 指定对什么类型的文件做压缩
   AddOutPutFilterByType DEFLATE text/image
   DeflateCompressionLevel 9                 <<< 指定压缩比
</IfModule>

配置18:基于用户的访问控制

范围
	整个网站
	某一个或者多个目录
虚拟用户

用户控制相关模块
1:auth:指定认证方式
	basic:基本认证,也就是用户名+密码(明文)
	digest:基于摘要方式做认证(hash)
2. authn:指定认证的提供者(用于做认证的信息的保存位置)
3. auzhz:指定授权机制

------做运维之前很矫情的小年轻-----

  • 2
    点赞
  • 69
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: httpd.confApache Web服务器的主要配置文件,它包含了服务器的各种设置和选项,如监听端口、虚拟主机、目录别名、认证和授权等。通过修改httpd.conf文件,可以对Apache服务器进行各种配置和优化,以满足不同的需求和应用场景。在httpd.conf文件中,每个配置项都有相应的注释说明,方便用户理解和修改。 ### 回答2: Apache Web服务器是世界上最流行的Web服务器之一,它运行在UNIX和Windows操作系统上。Apache配置文件httpd.confApache Web服务器的主要配置文件,所有的配置选项都可以在该文件中定义或修改。 Apache Web服务器的httpd.conf配置文件中包含了许多配置选项,其中最重要的是ServerRoot、Listen、DocumentRoot和Directory。ServerRoot指定Apache Web服务器的根目录,在这个目录下可以包含所有的配置文件和其他资源文件。Listen选项指定Web服务器接受连接请求的IP地址和端口号,DocumentRoot选项指定Web服务器的主目录,所有的Web内容都将从这个目录下加载和访问。Directory选项指定Web服务器中的目录访问权限和授权选项。 除了以上这些选项外,httpd.conf还包括其他许多配置选项,比如ErrorDocument、AccessLog、KeepAlive、Timeout和MaxClients等。ErrorDocument选项用于指定错误页面的处理方式,AccessLog选项用于记录Web服务器的访问日志,KeepAlive选项用于指定长连接的保持时间,Timeout选项用于指定连接超时的时间,MaxClients选项用于指定Web服务器的最大并发连接数。 在使用Apache Web服务器时,我们需要根据实际情况来对httpd.conf进行配置。如果需要对Apache配置文件进行修改,则必须先备份原来的文件,以免修改错误造成Web服务器无法正常工作。在进行配置文件修改之后,需要对Web服务器进行重启才能使修改生效。需要注意的是,如果配置文件修改错误可能导致Apache Web服务器崩溃或出现安全漏洞,因此在修改之前需要充分了解各个配置选项的含义和使用方法。 ### 回答3: Apache配置文件httpd.confApache服务器的主要配置文件,它包含了Apache服务器的所有配置信息,包括监听端口、虚拟主机、日志记录、文件目录索引、认证和授权以及HTTP压缩等。这些信息的配置可以通过修改httpd.conf文件来实现。 httpd.conf文件分为多个部分,每个部分都有一些指令,指令由指令名称、参数和指令值组成。指令名称是指令的名称,参数是指令的一个或多个参数,指令值由空格分隔,是指定义的值或变量名。在httpd.conf文件中,可以使用注释#来标记注释行。 以下是几个常见的httpd.conf指令: 1. Listen:指定Apache服务器要监听的端口号。默认端口号为80,可以使用该指令更改。 2. ServerName:指定Apache服务器的主机名。该指令定义主机名是为了让服务器知道其自身的标识。 3. DocumentRoot:指定Web服务器的文档根目录。所有的页面及网站相关信息都从这个目录开始。 4. DirectoryIndex:指定访问目录时默认打开的文件名。如果目录中存在该文件,那么访问目录时就会打开该文件。 5. ErrorLog和AccessLog:分别用于定义Apache服务器的错误日志和访问日志。 6. Include:包含其他配置文件,这些配置文件包含了更多的指令信息。 除了上述常见指令之外,httpd.conf文件还可以设置虚拟主机、重定向、认证和授权、HTTP压缩等。在修改httpd.conf文件之前,建议备份原文件,以免修改出现错误导致服务器异常。修改后,需要重新启动服务器才能使配置生效。 总之,Apache配置文件httpd.confApache服务器的关键配置文件,其包含了所有的配置信息,能够通过修改该文件来实现对服务器的各种设置和调整。对于建立和维护Web服务器的管理员来说,熟悉和掌握httpd.conf文件的内容是非常重要的。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值