apache基础

简介:

一、apache配置

ServerRoot "/etc/httpd"

#你的apache软件安装的位置。其它指定的目录如果没有指定绝对路径,则目录是相对于该目录

Listen 80

#服务器监听的端口号

Include conf.modules.d/*.conf

#apache模块存放的路径

User apache

Group apache

#apache默认执行用户及用户组

ServerAdmin root@localhost

#管理员的电子邮件,在错误页面会展示给用户

ServerName 192.168.2.77:80

#默认是不需要指定的,服务器通过名字解析过程来获得自己的名字。

#可以把www.example.com:80修改为自己的域名或者直接修改为 localhost,也可以指定IP 地址,

DocumentRoot "/var/www/html"

#网页的目录


<IfModule dir_module>

    DirectoryIndex index.html

</IfModule>

#fModuole标签其作用是先检查当前模块是否已经加载,若已经加载,则标签中的配置有效,若没有加载,则标签中的配置无效。

#默认索引页面是index.html

AddDefaultCharset UTF-8

#设置编码类型

<IfModule mime_magic_module>

    MIMEMagicFile conf/magic

</IfModule>

#通过读取部分文件内容自动猜测文件的MIME类型

#它被作为当mod_mime无法解析时,用来处理的"第二道防线"

#如果它被使用,会显著影响服务器的性能

EnableSendfile on

#使用操作系统内核的sendfile支持来将文件发送到客户端,

IncludeOptional conf.d/*.conf


二、Directory标签配置介绍

<Directory "/var/www/html">

    Options Indexes FollowSymLinks

    AllowOverride None

    Require all granted

Order allow, deny

</Directory>

使用<Directory 目录路径>和</Directory>这对语句为主目录或虚拟目录设置权限,它们是一对容器语句,必须成对出现,它们之间封装的是具体 的设置目录权限语句,这些语句仅对被设置目录及其子目录起作用

(1)Options

Options选项用于定义目录使用哪些特性,包括Indexes、MultiViews和ExecCGI等

Indexes 允许目录浏览,Apache以超文本形式返回目录中的文件和子目录列表

MultiViews 允许内容协商的多重视图MultiViews其实是Apache的一个智能特性。当客户访问目录 中一个不存在的对象时,如访问“http://192.168.16.177/icons/a”,则Apache会查找这个目录下所有a.*文件。由于 icons目录下存在a.gif文件,因此Apache会将a.gif文件返回给客户,而不是返回出错信息

All  All包含了除MultiViews之外的所有特性,如果没有Options语句,默认为All

ExecCGI 允许在该目录下执行CGI脚本

FollowSymLinks 可以在该目录中使用符号连接(软连接)

Includes 允许服务器端包含功能,准许SSI

IncludesNoExec   允许服务器端包含功能,但禁用执行CGI脚本

SymLinksIfOwnerMatch    在该目录中仅仅跟踪本站点内的链接


(2)AllowOverride None

AllowOverride选项用于定义位于每个目录下.htaccess(访问控制)文件中的指令类型。基于安全和效率的原因,虽然可以通 过.htaccess来设置目录的访问权限,但应尽可能地避免使用.htaccess文件,所以一般将AllowOverride设置为”None”,即 禁止使用.htaccess文件,而将目录权限的设置放在主配置文件httpd.conf的

(3)设置缺省的访问权限与Allow和Deny语句的处理顺序

Order deny ,allow 先执行deny后执行allow,除了deny禁止,其他都可以访问

例1:由于Allow语句覆盖了Deny语句,因此这3条语句是允许所有客户的访问

Order deny ,allow

Allow from 192.168.16.0/24

Deny from 192.168.16.111

例2:仅允许来自网络192.168.16.0/24客户机的访问,但IP地址为192.168.16.111的客户机除外

Order allow,deny

Allow from 192.168.16.0/24

Deny from 192.168.16.111


三、Files标签

<Files>指令提供了基于文件名的访问控制,类似于<Directory>和<Location>指令

<Files ".ht*">

    Require all denied

</Files>


四、Location网络空间容器

下例中的配置会拒绝对任何以"/private"开头的URL路径的访问

<Location /private>

Order Allow,Deny

Deny from all

</Location>

当指令应该作用于文件系统时,总是用<Directory>或<Files>;而当指令作用于不存在于文件系统的对象时,就用<Location>


五、日志格式

ErrorLog "logs/error_log"

#错误日志存放路径

LogLevel warn

#收集日志级别

<IfModule log_config_module>

    LogFormat "%h %l %u %t \"%r\" %>s %b \"%{Referer}i\" \"%{User-Agent}i\"" combined

    LogFormat "%h %l %u %t \"%r\" %>s %b" common

    <IfModule logio_module>

      LogFormat "%h %l %u %t \"%r\" %>s %b \"%{Referer}i\" \"%{User-Agent}i\" %I %O" combinedio

    </IfModule>

    CustomLog "logs/access_log" combined

</IfModule>

#定义日志格式


六、Alias,ScriptAlias映射

<IfModule alias_module>

    ScriptAlias /cgi-bin/ "/var/www/cgi-bin/"

</IfModule>

#任何以/cgi-bin/开头的资源都将映射到/var/www/cgi-bin/目录中,且视之为CGI程序

<Directory "/var/www/cgi-bin">

    AllowOverride None

    Options None

    Require all granted

</Directory>

#ScriptAlias和Alias都是映射,只是ScriptAlias映射的文件视为CGI程序


七、MIME类型

<IfModule mime_module>

    TypesConfig /etc/mime.types   #指定MIME类型映射文件

    AddType application/x-compress .Z

    AddType application/x-gzip .gz .tgz  #增加.Z .tgz等类型映射

    AddType text/html .shtml

    AddOutputFilter INCLUDES .shtml

</IfModule>

#如果访问.mp4文件,apache将无法处理。 添加AddType video/mp4 mp4重启后就能够播放


八、虚拟主机

基于域名的虚拟主机

NameVirtualHost *:80

<VirtualHost *:80>

ServerName www.domain.tld

ServerAlias domain.tld *.domain.tld

DocumentRoot /www/domain

</VirtualHost>

基于IP的虚拟主机

<VirtualHost 192.168.1.11:80>

  ServerName www.test1.com

  DocumentRoot /www/test1/

  <Directory "/www/test1">

     Options Indexes FollowSymLinks

     AllowOverride None

     Order allow,deny

     Allow From All

   </Directory>

</VirtualHost>


基于端口的虚拟主机

Listen 8080

<VirtualHost 192.168.1.10:8080>

    DocumentRoot /var/www/test2

    ServerName www.test2.com

</VirtualHost>


九、代理服务器

反向代理

<VirtualHost *:80>

ServerAdmin test@test.com 

ServerName www.test.com

ProxyRequests Off

<Proxy *>

Order deny,allow

Allow from all

</Proxy>

ProxyPass / http://192.168.2.2:8000/

ProxyPassReverse / http://192.168.2.3:8000/

</VirtualHost>


正向代理

<IfModule mod_proxy.c>

ProxyRequests On

<Proxy 192.168.2.4:80>

   Order deny,allow

   Deny from all

   Allow from all

</Proxy>

</IfModule>

 其中192.168.2.4:80 为代理服务器的ip地址和端口



本文转自 irow10 51CTO博客,原文链接:http://blog.51cto.com/irow10/1909675,如需转载请自行联系原作者

相关实践学习
日志服务之使用Nginx模式采集日志
本文介绍如何通过日志服务控制台创建Nginx模式的Logtail配置快速采集Nginx日志并进行多维度分析。
相关文章
|
6月前
|
Cloud Native Ubuntu Linux
Apache部署:一步一步教你
Apache部署:一步一步教你
136 0
|
7月前
|
机器学习/深度学习 分布式计算 数据处理
Apache Spark 的基本概念
Apache Spark 的基本概念
|
10月前
|
安全 API Apache
Apache服务深入学习篇(详细介绍)
Apache服务深入学习篇(详细介绍)
388 0
Apache服务深入学习篇(详细介绍)
|
网络协议 安全 Unix
Apache 深入优化
Apache(音译为阿帕奇)是世界使用排名第一的Web服务器软件。它可以运行在几乎所有广泛使用的计算机平台上,由于其跨平台和安全性被广泛使用,是最流行的Web服务器端软件之一。它快速、可靠并且可通过简单的API扩充,将Perl/Python等解释器编译到服务器中。本篇博客主要讲解Apache的网页优化与安全,Apache的理论讲解与具体安装可以参考​ ​源代码配置安装Apache​
Apache 深入优化
|
Apache
简单配置apache服务
简单配置apache服务
132 0
简单配置apache服务
|
机器学习/深度学习 SQL 分布式计算
Apache Spark有哪些局限性
Apache Spark是行业中流行和广泛使用的大数据工具之一。Apache Spark已成为业界的热门话题,并且如今非常流行。但工业正在转移朝向apache flink。
Apache Spark有哪些局限性
|
安全 Apache
Apache安全配置
image.png image.png
793 0
|
Web App开发 安全 应用服务中间件
Apache简介
最近由于学习的需要,需要用到Apache,本文就简单的介绍一下Apache。
2366 0
|
Web App开发 Apache
|
Java Apache 数据格式

推荐镜像

更多