Apache服务配置详细讲解

apahce 配置指令可以分为两大块,核心指令和第三方提供的指令。在apache中,每一个指令都对应着一个模块,而在所有模块中,最重要的就是core_module,so_module,http_module,以及mpm模块,他们除了so_moudle以外的其他模块都不可以关掉或者禁止.

一:httpd.conf

(1) 主服务器部分

1 、ServerName: 定义apache默认主机名,可以是域名或者IP地址

2 、ServerRoot: 用于定义服务器所在的目录,这个路径通常是在配置时候由–prefix来指定的

3 、DocumentRoot: 用于指定apache提供页面服务的根目录,这个路径必须是绝对路径而不是相对路径,如果有空格还需要用引号括起来

4 、ServerAdmin: 服务器出错后给管理员发邮件的地址

5 、ServerAlias 和 Alias: 都用于映射目录,只是ServerAlias将映射的目录识别为CGI脚本目录,并将此目录所有文件都作为CGI脚本对待。但是Alias只是映射为一个普通的目录

6 、User 和 Group: 用于定义用于运行apache 子进程的用户和用户组

7 、Listen: 用来定义监听apache的端口号

8 、LoadModule 指令:用于加载模块或者目标文件 LoadModule cgi_module modules/mod_cgi.so_module

9、 ErrorDocument: 自义错误页面信息 ErrorDocument 500 “unknown error”  ErrorDocument 404  “/var/server/www/cgi-bin/missing_404.pl” ErrorDocument 402 http://www.nicky.com/error_402.html

10、 options : 决定在哪些目录中使用那些特性,这些特性如下:

None: option 指令将不会起作用

ExecCGI: 允许当前目录下执行CGI脚本

Includes: 允许使用SSI功能

IncludesNOEXEC: 允许使用SSI功能,但是exec cgi and exec cmd 功能禁用

Indexes: 开起索引功能,比如一个请求到目录URLz中没有有DirectoryIndex 指令指定的索引文件,那么服务器会自动返回一个请求目录内容列表

FollowSymLinks: 允许在当前环境使用符号连接,但是在Location 容器中会被忽略

All: 使用除MultiViews之外的所有特性,也是options的默认参数

MultiViews: 用于启动mod_negotiations模块提供的多重视图功能

11 、ServerTokens: OS/Major/Full 影响报错页脚信息的详细程度,一般不建议使用

(2) 容器部分
1 、 容器:容器作用于模块,他会首先判断模块是否载入,然后再决定是否进行处理,即只有当判断结果为真时,才会执行容器内的指令,相反如果为假,则会全部忽略,可以使用或者 来判断模块是否载入

    DirctoryIndex index.html 

如果载入则执行

    DirctoryIndex index.html 

如果不载入则执行

2 容器:封装一组条件为真时才生效的指令,作用于 server config, virtual host, directory, .htaccess ,和IfModule区别在于,他是以模块是否加载作为判断,但是IfDefine是以条件为判断

依据

LoadModule proxy_module modules/libproxy.so

3 容器:

Directory: 让它封装的指令在它的指定的目录或者他的子目录起作用,这个目录必须是一个完整的路径,当然你也可以使用通配符* ?匹配目录,也考虑利用使用[]来确定字符范围,不过不论是哪一种都不能匹配/

    Order Deny,Allow

Deny from all

上述例子禁止了对/var/apache/html目录的访问权限。任何请求到/var/apache/html都会被拒绝

如果希望目录使用正则表达式,那么需要在前面加一个~

    Order Deny,Allow

Allow from all

DirectoryMatch: 和Directory作用类似,只不过他可以直接接受正则匹配 而不需要加一个~符号

    Order Deny,Allow

Allow from all

4 和
Files: 只作用于文件,也可以使用通配符和[]以及在正则表达式前面~来使用正则表达式

    Order Deny,Allow
Allow from All

FilesMatch: Files 而不需要加一个~符号

Order Deny,Allow
Allow from All

5 和 : 只是对URL进行访问控制

Order Allow,Deny
Deny from All

如果以cgi开头URL则会被拒绝
另外还可以将URL 请求映射到Apache模块处理器上,例如使用mod_status模块:

SetHandler server-status

如果使用上面的配置。那么访问/server-status,apache会将连接交给mod_status模块处理,并返回一个Apache服务器运行状态页面

容器的处理顺序问题
Apache 会优先处理Directory 容器(但是不会处理带有正则表达式的Directory和.htaccess,)接着处理Files 和 FilesMatch 容器,再接着就是处理Location 和LocationMatch容器

    Order deny,allow

    Allow from All

     Order allow,deny

Allow from All

Deny from www.jons.com

上述例子,由于Apache会先处理容器,最后处理的容器会覆盖之前Directory配置,因此对于www.json.com将是允许被用户访问的,如果容器相同则按照字典顺序由短到长来处理。

更多相关问题请访问PHP中文网:linux视频教程

以上就是Apache服务配置详细讲解的详细内容,更多请关注【创想鸟】其它相关文章!

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至253000106@qq.com举报,一经查实,本站将立刻删除。

发布者:PHP中文网,转转请注明出处:https://www.chuangxiangniao.com/p/3044103.html

(0)
上一篇 2025年3月13日 15:09:13
下一篇 2025年3月13日 15:09:24

AD推荐 黄金广告位招租... 更多推荐

相关推荐

  • 有哪些全文数据库

    全文数据库有Elasticsearch、Solr、Sphinx、MongoDB、PostgreSQL和Apache Lucene。详细介绍:1、Elasticsearch是一个开源的分布式全文搜索和分析引擎,具有高度可扩展性和灵活性,能够处…

    2025年3月13日
    200
  • Java ActiveMQ 的 20 个必知概念

    Java ActiveMQ是一种流行的开源消息中间件,广泛应用于企业级应用程序开发中。在使用ActiveMQ时,了解一些关键概念是十分重要的。本文由php小编苹果为您介绍Java ActiveMQ的20个必知概念,帮助您更好地理解和使用这一…

    2025年3月13日
    200
  • 未来的Java序列化发展趋势是什么?

    答案: java序列化格局正在发生变化,涌现出新的创新技术来满足不断变化的需求。详细描述:protobuf:google开发的二进制格式,专注于速度和效率。flatbuffers:二进制格式,强调内存和cpu性能。apache avro:基…

    2025年3月13日
    200
  • java导出功能怎么实现

    Java 导出功能实现在于通过以下步骤:选择导出文件格式。创建相应格式的写入器。设置导出列。遍历数据并写入写入器中。关闭写入器释放资源。 Java 导出功能实现 在 Java 中实现导出功能主要涉及以下步骤: 1. 选择导出格式 确定要导出…

    2025年3月13日
    200
  • java怎么实现爬虫

    构建Java网络爬虫需要:使用HTTP库建立连接;解析URL,构造请求;发送请求并处理响应;使用正则表达式或库提取数据;遍历网站,提取链接;遵循最佳实践(尊重机器人协议,使用代理,处理异常,并发抓取,验证数据)。 如何使用 Java 构建爬…

    2025年3月13日
    400
  • Java框架中日志记录优势的最佳实践

    java 中的高级日志记录实践包括:使用标准 api、选择合适的日志级别、使用有意义的日志消息、结构化日志数据、使用日志处理程序和筛选器。最佳实践示例包括使用 log4j 和 logback,以灵活的日志级别、多种输出程序和强大的日志筛选和…

    2025年3月13日
    200
  • java框架如何优化CI/CD中的日志管理?

    在 ci/cd 中优化日志管理可以通过使用 java 框架,如 logback 和 log4j,以及遵循最佳实践:使用集中日志记录机制,避免混乱。标准化日志格式,提高互操作性。设置适当的日志级别,满足调试需要。收集所有日志,确保全面可视性。…

    2025年3月13日
    200
  • 数据流处理中的关键性和一些有效的方法

    当今的数字世界产生源源不断的实时数据,这些数据包含丰富的见解和信息。流处理是一种处理连续数据流的技术,它填补了实时数据收集和可操作见解之间的空白。与传统的批量数据处理不同,流处理在数据产生时进行处理,从数据流中提取有用信息。在各个行业中,从…

    2025年3月13日
    200
  • Java函数如何借助第三方库和框架增强代码可复用性?

    第三方库和框架可增强 java 函数代码可复用性,具体包括:减少重复工作简化代码维护提高开发效率 使用第三方库和框架增强 Java 函数代码可复用性 在 Java 中,借助第三方库和框架,我们可以显著增强函数的代码可复用性。 理解代码可复用…

    2025年3月13日
    200
  • 有效的函数日志记录

    掌握函数级日志记录是理解和实现整个软件系统全面日志记录的关键步骤。通过专注于功能的粒度级别,我们可以构建坚实的基础,使扩展到复杂的系统变得轻而易举。 为函数编写日志时要记住以下五个要点: 指定日志的来源: 始终记下日志的来源。这可以包括创建…

    2025年3月13日
    200

发表回复

登录后才能评论