httpd-2.2基础配置

配置文件相关

主配置文件:

/etc/httpd/conf/httpd.conf
/etc/httpd/conf.d/*.conf

切换工作模式(prefork, wowrker, event)
在配置文件 /etc/sysconfig/httpd 中修改参数(该配置文件对应的服务脚本在 /etc/rc.d/init.d/httpd),更改参数后重启服务生效。

HTTPD=/usr/sbin/httpd     prefork工作模式(多进程)
HTTPD=/usr/sbin/httpd.worker     worker工作模式(多线程)
HTTPD=/usr/sbin/httpd.event     event工作模式(事件驱动)

日志文件: /var/log/httpd/*
官方文档: http://httpd.apache.org/docs/2.2/

基于Basic认证方式访问网页

注: 均定义在全局中,定义在虚拟主机中不生效

# mkdir /var/www/html/admin	#创建需要认证访问的目录

基于用户认证

<Directory "/var/www/html/admin/index.html">
	Options None
	AllowOverride None
	AuthType Basic	#认证模式
	AuthName "admin page"    #用户访问时的提示信息
	AuthUserFile "/etc/httpd/conf.d/.htpasswd"	#用户密码文件
	Require user admin1 admin2    #允许admin1和admin2访问
</Directory>
	
# htpasswd -c -m /etc/httpd/conf.d/.htpasswd admin1
说明:创建admin1用户
-c:自动创建用户密码文件.htpasswd,仅在第一次创建用户使用,否则会覆盖
-m:使用md5加密

基于组认证

<Directory "/var/www/html/admin/index.html">
	Options None
	AllowOverride None
	AuthType Basic    #认证模式
	AuthName "admin page"    #用户访问时的提示信息
	AuthUserFile "/etc/httpd/conf.d/.htpasswd"    #用户密码文件
	AuthGroupFIle "etc/httpd/conf.d/.htgroup"    #组文件
	Require group group1    #允许访问的用户
</Directory>
	
//组文件手动创建
# vim /etc/httpd/conf.d/.htgroup
/*内容格式如下,每一行定义一个组
	group1:admin1 admin2
*/


基础配置

虚拟主机定义:

<VirtualHost IP:PORT>
	ServerName
	DocumentRoot
	# 其他选项与配置主服务器几乎相同
	# 访问控制、错误日志、别名等
</VirtualHost>

注: 对于自定义目录(非/var/www目录下的资源,请注意访问权限的问题),通过注释掉DocumentRoot行来避免 中心/虚拟 主机混用;

# 基于ip地址:使用不同ip分别配置不同的主机
<VirtualHost 172.27.100.1:80>
	...
</VirtualHost>

<VirtualHost 172.27.100.2:80>
	...
</VirtualHost>


# 基于主机名:在同一ip上配置多个域名,通过统一ip访问不同的虚拟主机
NameVirtualHost 172.27.100.1:80    # ip:port的格式应与虚拟主机部分保持一致
<VirtualHost 172.27.100.1:80>
	ServerName www.test1.com
	DocumentRoot /var/www/vhosts/web1
	...
</VirtualHost>

<VirtualHost 172.27.100.1:80>
	ServerName www.test2.com
	DocumentRoot /var/www/vhosts/web2
	...
</VirtualHost>


# 基于端口:在同一ip上监听不同端口来访问不同的虚拟主机,不建议使用
<VirtualHost 172.27.100.1:80>
	...
</VirtualHost>

<VirtualHost 172.27.100.1:8080>
	...
</VirtualHost>

日志定制相关:

%h:客户端IP地址
%l:用户登录名,-表示为空
%u:基于Basic和digest认证登录的用户名
%t:请求到达服务器时间
%r:请求报文首航信息(请求方法、URL、协议版本)
%>s:响应状态码
%b:响应报文大小(不包含HTTP首部,单位:Byte)
%{Referer}i:请求报文中referer首部的值(referer:到达当前页面的访问入口,即上一页面)
%{User-Agent}i:请求报文中User-Agent首部的值,即浏览器标识

MPM工作特性配置段

<IfModule prefork.c>
	StartServers       8	#服务启动时启动的进程数
	MinSpareServers    5	#最小空闲进程数
	MaxSpareServers   20	#最大空闲进程数
	ServerLimit      256    #服务器上限进程数
	MaxClients       256    #最大的客户端数
	MaxRequestsPerChild  4000    #每个进程最大请求数
</IfModule>

<IfModule worker.c>
	StartServers         4    #同上
	MaxClients         300    #最大客户端数
	MinSpareThreads     25    #最小空闲线程数
	MaxSpareThreads     75    #最大空闲线程数
	ThreadsPerChild     25	#每个进程的线程数
	MaxRequestsPerChild  0    #每个进程响应的请求数,0表示无限制
</IfModule>

开启服务器状态信息页
当客户端请求server-status这个资源时,配置文件中如果定义了如下Location,且客户端被允许访问该页面,则服务器会返回相关的信息页。
注: 在虚拟主机外定义,则对全局生效,在虚拟主机内定义,则仅对该虚拟主机生效。

<Location /server-status>
	SetHandler server-status
	Order allow,deny
	Allow from 172.27.1.1	#允许该主机访问,也可以是网段
</Location>
//若需要查看扩展信息,请使用如下定义
ExtendedStatus On

开启HTTPS服务
1、获取CA证书(略)
2、安装SSL模块,配置配置文件

# yum install mod_ssl -y    #安装ssl模块
/*配置文件:/etc/httpd/conf.d/ssl.conf
	<VirtualHost IP:PORT>
		DocumentRoot
		ServerName
		SSLCertificateFile
		SSLCertificateKeyFile
	</VirtualHost>
	注:如果有多个服务主机,则需在ssl.conf文件中一一定义,仍然要添加如下行信息:
	NameVirtualHost IP:PORT	#如:NameVirtualHost 172.27.100.1:443
*/
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值