当前位置:首页 > Web开发 > 正文

apache配置详解与实践

2024-03-31 Web开发

标签:

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.56.78:80 Listen 80

配置语法
Listen [IP-address:]portnumber [protocol]
使用场景
默认监听80端口,浏览器访问127.0.0.1或localhost或服务器ip能得到默认欢迎页面。
也可以同时监听多个端口。
实践

# 1. 修改端口号 Listen 8080 # 2. Listen指令可重复出现多次 Listen 8080 Listen 80 # 注意:修改后必须重启服务才可生效 [[email protected] conf]# systemctl restart httpd.service 2.3 Include

导入配置文件
Include conf.modules.d/*.conf

技术图片

2.4 IncludeOptional

和include功能相同,都是导入配置文件的。区别是IncludeOptional导入的路径有问题时会被忽略。不会报错。

IncludeOptional conf.d/*.conf

2.5 User和Group

httpd服务子进程启动时的账号和组,这个不用修改

User apache Group apache 2.6 ServerAdmin

服务运行时的管理员邮箱地址

ServerAdmin [email protected] 2.7 DocumentRoot

站点根目录
在这个文件夹下放数据的

DocumentRoot "/var/www/html"

语法

DocumentRoot directory-path

实践

#DocumentRoot "/var/www/html" DocumentRoot "/www" #<Directory "/var/www/html"> <Directory "/www">

技术图片


技术图片

2.8 Directory

确定访问目录位置,标签配置。标签内是设置针对该目录的访问权限

<Directory "/var/www/html"> Options Indexes FollowSymLinks # 访问时的展示形式,,Indexes索引展示 AllowOverride None # 设置指令是否可以在.htaccess使用 Require all granted # 允许所有人访问 </Directory>

Options 访问时展示形式

? Options Indexes 当前目录下没有默认页面,就显示目录结构

? Options FollowSymLinks 默认设置,允许访问符号链接

? Options None 关闭
一般情况下会把Indexes 关掉,不想让别人看到站点目录下有什么文件,只有在做下载站点的时候才会打开。默认是开的。

AllowOverride .htaccess文件中允许的指令类型

? AllowOverride All 全部指令

? AllowOverride None 默认值,不允许

? AllowOverride directive-type [directive-type] … 具体指令类型

Require 访问权限设置

? Require all granted 无条件允许访问

? Require all denied 无条件拒绝访问

? Require method http-method **[**http-method] … 仅允许给定的HTTP方法访问

? Require ip 10 172.20 192.168.2 指定ip地址范围的客户端可以访问
实践

# 1. 去掉Indexes查看效果,注意改完配置后要重启http服务 <Directory "/var/www/html"> Options FollowSymLinks AllowOverride None Require all granted </Directory> # 2. 去掉FollowSymLinks <Directory "/var/www/html"> Options None AllowOverride None Require all granted </Directory> # 3. 使用Require <Directory "/var/www/html"> Options None AllowOverride None Require all denied # 无条件拒绝访问 </Directory> <Directory "/var/www/html"> Options None AllowOverride None Require method POST # 仅允许post请求 </Directory>

apache配置详解与实践

温馨提示: 本文由Jm博客推荐,转载请保留链接: https://www.jmwww.net/file/web/40645.html