apache使用详解

Apache是世界使用排名第一的Web服务器软件。它可以运行在几乎所有广泛使用的计算机平台上,由于其跨平台和安全性被广泛使用,是最流行的Web服务器端软件。接下来,我们通过一系列实验,来对其有一个更加深入的了解。

1.通过yum安装httpd服务

[[email protected] ~]# yum install httpd

2.配置文件全局配置配置信息详解

1) 配置持久连接

KeepAlive <On|Off> #是否开启持久连接功能
MaxKeepAliveRequest 100 #一次持久连接最大的请求个数
KeepAliveTimeout 15 #持久连接的超时时间

2) 配置监听IP和端口

Listen [IP:]Port #设置监听的IP地址以及端口,本选项可以指定多个,以支持监听多个IP及端口

3) 模块动态装卸载

LoadModule ModuleName /path/to/module
#可以在终端使用如下命令查看已装载的模块
[[email protected] ~]# httpd -D DUMP_MODULES
Loaded Modules:
 core_module (static)
 mpm_prefork_module (static)
 ......
 dnssd_module (shared)
 php5_module (shared)
 ssl_module (shared)
Syntax OK

4) 指定站点根目录

DocumentRoot /path/to/documentroot #定义网页文件所在的目录

5) 定义默认主页信息

DirectoryIndex index.html index.php .... #各参数之间以空格分割

6) 路径别名

Alias url/ /path/ #注意,末尾的“/”要保持一致,有则都有,无则均无

7) 默认字符集设置

AddDefaultCharset 字符集 
#常用中文字符集有:GB2310,GB18030,GBK
#通用字符集:UTF-8,UTF-16

8) 配置支持CGI脚本

ScriptAlias /cgi-bin/ "/var/www/cgi-bin/" #将CGI脚本执行路径定义到指定路径
 
<Directory "/var/www/cgi-bin"> #设置cgi脚本路径的访问控制,下方对其中参数有详细说明
    AllowOverride None
    Options None
    Order allow,deny
    Allow from all
</Directory>

3.访问控制

a) 基于IP地址的访问控制

Order allow,deny #默认拒绝所有
Order deny,allow #默认允许所有
Allow|Deny from {all|ipaddr|NetworkAddress}
其中Networkaddress格式可以为以下几种
172.16 
            172.16.0.0 
            172.16.0.0/16 
                172.16.0.0 255.255.0.0

b) 基于用户认证的访问控制

#基于用户的访问认认证有basic和digest两种
#认证文件有文本文件:.htpasswd,SQL数据库,DBM:数据库引擎以及ldap
#下面我们以基于文本文件的basic认证来配置
#=========================================================
#1.确保基本认证模块已经加载
LoadModule auth_basic_module modules/mod_auth_basic.so
#2.创建认证文件,添加用户
#htpasswd FILE USERNAME
#-c:文件不存在时则创建文件
#-m:使用MD5加密密码
#-D:删除用户
[[email protected] ~]# htpasswd -c -m /etc/httpd/.passwd test1
New password: 
Re-type new password: 
Adding password for user test1
[[email protected] ~]# htpasswd  -m /etc/httpd/.passwd test2
New password: 
Re-type new password: 
Adding password for user test2
[[email protected] ~]# cat /etc/httpd/.passwd 
test1:$apr1$dgaArWEk$U04MnXH2HBRT/P5fUoj2P0
test2:$apr1$N4uhZ492$1L70450o982fZPQmbd594/
#3.为目录配置用户认证
[[email protected] conf.d]# vim auth.conf 
 
<Directory /var/www/html/auth>
    options none
    AllowOverride AuthConfig
    AuthType Basic   #定义认证类型
    AuthName "PLZ inout you user info" #定义认证提示信息
    AuthUserFile /etc/httpd/.passwd  #定义认证文件
    Require valid-user  
    #定义可访问用户,可以为vbalid-user表示文件中所有用户,也可使用user USERNAME 定义指定用户
</Directory>

4.日志功能

#错误日志定义
ErrorLog “path/to/error/logfile”
#定义错误日志级别
LogLevel {debug|info|notice|warn|error|crit|alert|emerg}
#自定义日志
CustomLog “/path/to/customlog/file” 日志格式名
#自定义日志格式定义
LogFormat “格式”  格式名
#格式中常用的宏
#%h:客户端地址
#%l:远程登录名
#%u:远程认证名称,没有认证为"-"
#%t:收到请求时间
#%r:请求报文的起始行
#%>s:响应状态吗
#%b:响应报文长度bits
#%{HEADER_NAME}i:记录指定首部对应的值

5.MPM参数配置

<IfModule prefork.c> #如果启用prefork模块,下列参数生效
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 #每个进程允许在其生命收起处理多少请求
</IfModule>

6.虚拟主机

(篇幅较长,请看我的另外一篇博文 点击查看  )

7.Apache内嵌处理器server-status使用

[[email protected] conf.d]# cat serverstatus.conf
<Location /server-status>
    options none
    SetHandler server-status
    Order allow,deny
    allow from 192.168.1
</Location>

8.配置实用https协议实现安全连接

#安装mod_ssl
[[email protected] conf.d]# yum install mod_ssl
#为httpd生成私钥并生成证书
mkdir /etc/httpd/ssl;cd httpd/ssl
(umask 077;openssl genrsa -out /etc/httpd//httpd.key 1024)
openssl req -new -key httpd.key -out httpd.csr
#在CA证书服务器上为其签署证书并传回给
openssl ca -in httpd.csr -out httpd.crt -days 1000
#配置ssl认证
SSLCertificateFile /etc/httpd/ssl/httpd.crt #指定证书位置
SSLCertificateKeyFile /etc/httpd/ssl/httpd.key #指定私钥位置

9.httpd自带工具使用

httpd:apache服务器程序
    -t:测试
    -l:列出静态模块
    -D DUMP_MODULES:列出DSO模块
    -M,相当于-t -DDUMP_MODUKLES
    -D DUMP_VHOSTS:列出所有虚拟主机
htpasswd:为基于文件basic认证创建更新用户账号文件和认证文件
    -c:创建文件,第一次添加用户使用
    -m:用MD5加密
    -d:删除用户
 
apachectl:httpd服务控制工具
ab:apache基准性能测试工具
    ab [options] URL
        -c #:并发数
        -n #:总请求数
        -n的值一定大于-c的值
        -c #:指定并发数
        -n #:指定总的请求数

10.通过源码安装httpd-2.4

(篇幅较长,请看我的另外一篇博文 点击查看  )

apache使用详解,布布扣,bubuko.com

时间: 2024-10-07 05:02:15

apache使用详解的相关文章

apache mod_autoindex 详解

mod_autoindex的作用是生成目录索引,类似于unix的ls命令,或者是win32的dir命令 当从服务器请求一个目录的时候,可能来自: mod_dir的DirectoryIndex指定首页 mod_autoindex列目录 这两个模块都是相互独立的,如有需要可以放心的删除.替换. mod_autoindex模块的指令有:AddAlt,AddAltByEncoding,AddAltByType,AddDescription,AddIcon,AddIconByEncoding, AddIc

CentOS下安装Apache步骤详解

CentOS下安装Apache步骤详解 一.实验环境 Linux: CentOS release 6.7 (Final) Apache: httpd-2.4.23.tar.gz VMware: VMware 10.0 宿主机: Win10 x64 二.Apache介绍 Apache一款 Web服务器软件.它可以运行在几乎所有广泛使用的计算机平台上,由于其跨平台和安全性被广泛使用,是最流行的Web服务器端软件之一.它快速.可靠并且可通过简单的API扩充,将Perl/Python等解释器编译到服务器

Apache配置文件详解

Apache配置文件详解   *此为用yum安装的apache文件的各项解释和编译安装后的apache配置文件大同小异,仅做参考 httpd 的配置文件是: /etc/httpd/conf/httpd.conf [ //查看配置文件 # grep -v "#" /etc/httpd/conf/httpd.conf //当服务器响应主机头(header)信息时显示Apache 的版本和操作系统名称 ServerTokens OS //设置服务器的根目录 ServerRoot "

apache 配置文件详解

apache  配置文件详解 1.由于配置文件中的空行和注释很多所以要排除 主配置文件:httpd.conf:( 注意备份) grep -Ev  "#|^$"  httpd.conf :     ServerRoot "/application/apache2.2.27" #服务的根目录:软件安装位置: Listen 80 #web服务监听端口,用户访问使用: <IfModule !mpm_netware_module> <IfModule !mp

Web性能压力测试工具之Apache AB 详解

下载安装地址: http://httpd.apache.org/download.cgi yum install httpd-tools http://www.apachelounge.com/download/ 下载 http://files.cnblogs.com/files/chen110xi/ab.7z PS:网站性能压力测试是性能调优过程中必不可少的一环.只有让服务器处在高压情况下才能真正体现出各种设置所暴露的问题.Apache中有个自带的,名为ab的程序,可以对Apache或其它类型

Apache FtpServer详解

FTP 是FileTransfer Protocol(文件传输协议)的英文简称,而中文简称为"文传协议".用于Internet上的控制文件的双向传输.同时,它也是一个应用程序 (Application).基于不同的操作系统有不同的FTP应用程序,而所有这些应用程序都遵守同一种协议以传输文件.在FTP的使用当中,用户经常 遇到两个概念:"下载"(Download)和"上传"(Upload)."下载"文件就是从远程主机拷贝文件至自

apache配置详解与实践

1.配置文件说明 1.1 主配置文件目录 vi /etc/httpd/conf/httpd.conf 1.2 配置文件格式 # directive 指令 value 值 ServerRoot "/etc/httpd" ServerRoot 代表apache服务的根路径,一般不修改. 2.配置项详解 2.1 ServerRoot 服务所在目录的路径,不需要做修改 ServerRoot "/etc/httpd" 2.2 Listen 监听端口 #Listen 12.34

LAMP之apache安装详解

apache安装步骤 把安装包放在/usr/local/src/ cd /usr/local/src/ 下载apache wget http://syslab.comsenz.com/downloads/linux/httpd-2.2.16.tar.gz 3.解压 tar -zxvf httpd-2.2.16.tar.gz 4.进入httpd-2.2.16文件 #cd httpd-2.2.16 5.进入之后编译参数 ./configure --prefix=/usr/local/apache2 

yum方式安装的Apache目录详解和配置说明

转载自http://www.cnblogs.com/carbon3/p/5635543.html 在对httpd.conf文件进行解读之前,首先了解一下Redhat9中Apache服务器默认配置的一些基本信息:配置文件:/etc/httpd/conf/http.conf1)"/etc/httpd/conf主要存放了配置文件httpd.conf,这个是最重要的配置文件,Apache的所有主要权限和功能都在这个文件中进行了详细的设置.(2) "/etc/httpd/conf.d"