设为首页 收藏本站
查看: 852|回复: 0

[经验分享] apache使用详解

[复制链接]

尚未签到

发表于 2018-11-22 10:28:26 | 显示全部楼层 |阅读模式
Apache是世界使用排名第一的Web服务器软件。它可以运行在几乎所有广泛使用的计算机平台上,由于其跨平台和安全性被广泛使用,是最流行的Web服务器端软件。接下来,我们通过一系列实验,来对其有一个更加深入的了解。

1.通过yum安装httpd服务
[root@wh1 ~]# yum install httpd2.配置文件全局配置配置信息详解
1) 配置持久连接
KeepAlive  #是否开启持久连接功能
MaxKeepAliveRequest 100 #一次持久连接最大的请求个数
KeepAliveTimeout 15 #持久连接的超时时间2) 配置监听IP和端口
Listen [IP:]Port #设置监听的IP地址以及端口,本选项可以指定多个,以支持监听多个IP及端口3) 模块动态装卸载
LoadModule ModuleName /path/to/module
#可以在终端使用如下命令查看已装载的模块
[root@wh1 ~]# 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脚本执行路径定义到指定路径
#设置cgi脚本路径的访问控制,下方对其中参数有详细说明
    AllowOverride None
    Options None
    Order allow,deny
    Allow from all
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.0b) 基于用户认证的访问控制
#基于用户的访问认认证有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:删除用户
[root@wh1 ~]# htpasswd -c -m /etc/httpd/.passwd test1
New password:
Re-type new password:
Adding password for user test1
[root@wh1 ~]# htpasswd  -m /etc/httpd/.passwd test2
New password:
Re-type new password:
Adding password for user test2
[root@wh1 ~]# cat /etc/httpd/.passwd
test1:$apr1$dgaArWEk$U04MnXH2HBRT/P5fUoj2P0
test2:$apr1$N4uhZ492$1L70450o982fZPQmbd594/
#3.为目录配置用户认证
[root@wh1 conf.d]# vim auth.conf

    options none
    AllowOverride AuthConfig
    AuthType Basic   #定义认证类型
    AuthName "PLZ inout you user info" #定义认证提示信息
    AuthUserFile /etc/httpd/.passwd  #定义认证文件
    Require valid-user  
    #定义可访问用户,可以为vbalid-user表示文件中所有用户,也可使用user USERNAME 定义指定用户




DSC0000.jpg

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参数配置
#如果启用prefork模块,下列参数生效
StartServers       8#表示启动服务器时启动多少线程
MinSpareServers    5 #定义最小空闲进程数
MaxSpareServers   20 #定义最大空闲进程数
ServerLimit      256 #最大进程数
MaxClients       256 #最大客户端个数
MaxRequestsPerChild  4000 #每个进程允许在其生命周期处理多少请求

#==========================

StartServers         4 #表示启动服务器时启动多少线程
MaxClients         300 #最多客户端个数
MinSpareThreads     25 #最小空闲进程数
MaxSpareThreads     75 #最大空闲进程数
ThreadsPerChild     25 #每个进程生成多少线程
MaxRequestsPerChild  0 #每个进程允许在其生命收起处理多少请求
6.虚拟主机
         (篇幅较长,请看我的另外一篇博文 点击查看  )
7.Apache内嵌处理器server-status使用
[root@wh1 conf.d]# cat serverstatus.conf

    options none
    SetHandler server-status
    Order allow,deny
    allow from 192.168.1
DSC0001.jpg
8.配置实用https协议实现安全连接
#安装mod_ssl
[root@wh1 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 #指定私钥位置 DSC0002.jpg
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
                (篇幅较长,请看我的另外一篇博文 点击查看  )



  

  

  




  





运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-638116-1-1.html 上篇帖子: 通过Apache+mod_JK+Tomcat集群实现负载均衡 下篇帖子: Apache(HTTP)服务相关知识总结(一)
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表