Apache配置:
以下配置是在Apache安装目录下 conf/httpd.conf 配置。
注: # 表示注释
Define
定义常量,定义了一个名字为SRVROOT
的常量
语法 Defined 常量名 常量的值
Define SRVROOT "E:/php/Apache24"
特别注意: 所有地址都是用是斜杠 /
并非 反斜杠 \
在文档的其他地方引用该常量的方法:
ServerRoot "${SRVROOT}" 定义服务器根目录
DocumentRoot
网站根目录
DocumentRoot "${SRVROOT}/htdocs" 定义网站根目录
默认 Apache 的网站根目录是安装目录中的 htdocs 文件夹
为了方便对网站文件的管理
一般我们会将其设置在 一个自定义目录中(如果你不介意其实不修改也无所谓)
将我们所做的网站存放在这个自定义目录中
Listen
添加监听的端口号
监听端口可以随意修改为任意一个未被其他程序监听的端口,也可监听多个端口
Listen 80 通常用于浏览网页服务的为 80 端口
Listen 8080 这里就可以添加一个端口 8080
不同的端口有不同用处,具体可以查百度百科
-
Dynamic Shared Object (DSO) Support
动态共享对象支持,这个以后慢慢研究 -
ServerAdmin
指令
语法 ServerAdmin email-address|URL
当服务器出现错误的时候,服务器所返回给客户端的错误信息中包含的管理员邮件地址
ServerName
服务器名称
ServerName 域名 | ip地址
- 访问服务器文件系统的权限设置。
<Directory />
AllowOverride none 是否允许重写
Require all denied 禁止所有ip访问
# Require all granted 允许ip访问
</Directory>
<Directory>容器的作用就是让它所封装的指令在指定的目录以及它的子目录中起作用,
这个目录必须是一个完整的路径,
也可以使用通配符 "*"、"?" 匹配目录,也可以使用 "[]" 来确定字符范围,
不过无论是"*"、"?" , 还是 "[]" 都不能匹配 "/"
这里 / 便是 服务器的根目录,即所有内容
- 服务器默认访问的文件名字
<IfModule dir_module>
DirectoryIndex index.html
</IfModule>
<IfModule>容器作用于模块,它会首先判断模块是否载入,
然后再决定是否进行处理,
也就是说只有当判断结果为真时才会执行容器内的指令,
相反如果为假,则会全部忽略。
这里,<IfModule>会判断 dir_module 是否载入,
如果载入则会执行 DirectoryIndex index.html 指令。
php的要在后面加上index.php或者server.php等。
- 定义不被允许访问的文件,可通过正则匹配文件名
<Files ".ht*">
Require all denied
</Files>
<Files>与<Directory>容器作用于目录相对应,<Files>容器只作用于文件,
和<Directory>容器一样,
也可以使用通配符和"[]" 以及在正则表达式的前面加上"~" 来使用正则表达式进行文件匹配。
- 定义错误日志文件
ErrorLog "logs/error.log"
- 日志级别记录控制。
LogLevel warn(可包括debug, info, notice, warn, error, crit,alert, emerg.)
12.一般日志
CustomLog "logs/site0.devp.com-access.log" common
13.AddType
添加type识别模板
AddType application/x-httpd-php .php
添加PHP文件识别模板
14.Include
添加外置配置文件,相当与把外置文件复制一份到本文件
Include conf/extra/httpd-vhosts.conf
添加虚拟机配置文件
15.LoadModule
添加模块/组件
语法: LoadModule 组件名(自定义) 地址
LoadModule php7_module 'E:/php/php/php7apache2_4.dll'
添加 PHPModule 组件
16.Options 指令
Options指令的完整语法为:Options [+|-]option [[+|-]option]
可选项有 All None FollowSymLinks Indexes 等
All 表示除MultiViews之外的所有特性(这也是Options指令的默认设置)
None 表示不启用任何的服务器特性
FollowSymLinks 服务器允许在此目录中使用符号连接(如果该配置选项位于配置段中,将会被忽略)
Indexes 如果输入的网址对应服务器上的一个文件目录,
而此目录中又没有DirectoryIndex指令(例如:DirectoryIndex index.html index.php),
那么服务器会返回由mod_autoindex模块生成的一个格式化后的目录列表,
并列出该目录下的所有文件
通常设置:
Options Indexes FollowSymLinks
17.虚拟主机
虚拟主机配置是在Apache安装目录下 conf/extra/httpd-vhosts.conf
文件中,也可直接放在主配置文件 httpd.conf
中 ,但是不方便管理,因而,把所有虚拟主机全部放在httpd-vhosts.conf
文件中
扫描二维码关注公众号,回复:
5249894 查看本文章
<VirtualHost *:80>
DocumentRoot "F:/web/baixiu"
<Directory "F:/web/baixiu">
Options Indexes FollowSymLinks
AllowOverride None
Require all granted
</Directory>
ServerName baixiu.devp
ErrorLog "logs/baixiu.devp.com-error.log"
CustomLog "logs/baixiu.devp.com-access.log" common
</VirtualHost>
*:80 监听绑定电脑上任意 IP 的 80 端口
由于多个虚拟主机一同工作,所以,每个虚拟自己必须配置 ServerName 域名
ServerAdmin 设置了在所有返回给客户端的错误信息中包含的管理员邮件地址
DocumentRoot 网站根目录
ErrorLog 错误的访问日志
CustomLog 一般访问日志