Apache2.4常用配置及解释

Apache2.4常用配置及解释

    写这个的原因是最近刚好在了解apache中httpd.conf的配置,由于比较零碎也就自己写了下来,也防止以后忘记,毕竟配置完就很少再去看,如果出现错误或者问题的麻烦指出来,一起交流。另外该配置是在apache2.4使用,apache2.2有所不同,进入正题。

    贴出配置文件,解释都在注释里

#定义一个默认值SRVROOT,可以使用${SRVROOT}引用
Define SRVROOT "C:/wamp/apache"
#指明apache的安装位置
ServerRoot "C:/wamp/apache"
#监听web服务端口的状态,默认80
#如果有其他占用该端口,可以手动修改,不过访问时就要加端口号才能访问
#也可以写成IP地址的侦听形式,如Listen 12.34.56.78:80,不写默认0.0.0.0
Listen 80
#添加功能模块,loadModule
#以下为常用,想了解的话自行了解,比较多
LoadModule access_compat_module modules/mod_access_compat.so
#能够运行基于MIME类型的CGI脚本或HTTP请求方法
LoadModule actions_module modules/mod_actions.so
#能执行URL重定向服务
LoadModule alias_module modules/mod_alias.so

LoadModule allowmethods_module modules/mod_allowmethods.so
#使文档能在没有HTTP头标的情况下被发送到客户端
LoadModule asis_module modules/mod_asis.so
#使用基本认证
LoadModule auth_basic_module modules/mod_auth_basic.so
LoadModule authn_core_module modules/mod_authn_core.so
LoadModule authn_file_module modules/mod_authn_file.so
LoadModule authz_core_module modules/mod_authz_core.so
LoadModule authz_groupfile_module modules/mod_authz_groupfile.so
LoadModule authz_host_module modules/mod_authz_host.so
LoadModule authz_user_module modules/mod_authz_user.so
LoadModule autoindex_module modules/mod_autoindex.so
LoadModule cgi_module modules/mod_cgi.so
LoadModule dir_module modules/mod_dir.so
LoadModule env_module modules/mod_env.so
LoadModule include_module modules/mod_include.so
LoadModule isapi_module modules/mod_isapi.so
LoadModule log_config_module modules/mod_log_config.so
LoadModule mime_module modules/mod_mime.so
LoadModule negotiation_module modules/mod_negotiation.so
#一个基于一定规则的实时重写URL请求的引擎
LoadModule rewrite_module modules/mod_rewrite.so
LoadModule session_module modules/mod_session.so
LoadModule session_cookie_module modules/mod_session_cookie.so
LoadModule setenvif_module modules/mod_setenvif.so
LoadModule socache_shmcb_module modules/mod_socache_shmcb.so
#使用安全套接字层(SSL)和传输层安全(TLS)协议实现高强度加密传输
#配置ssl证书需启用,即让你的网站可使用https访问,有兴趣学习一下,有这个必要
LoadModule ssl_module modules/mod_ssl.so

#php7 support,顾名思义添加php的功能模块,搭建php环境使用
#需要根据自己php的位置进行修改即可
LoadModule php7_module "C:/wamp/php/php7apache2_4.dll"
AddHandler application/x-httpd-php .php
#configure the path to php.ini
PHPIniDir "C:/wamp/php"
LoadFile C:/wamp/php/php7ts.dll
LoadFile C:/wamp/php/libeay32.dll
LoadFile C:/wamp/php/ssleay32.dll
LoadFile C:/wamp/php/libssh2.dll
KeepAlive on
KeepAliveTimeout 86400
#Apache的运行用户配置,启动服务后转换的身份
#在启动服务时通常以root身份,启动后转换身份,能增加系统安全
<IfModule unixd_module>
User daemon
Group daemon
</IfModule>
#管理员的邮箱,可以设置自己的邮箱,也可以不修改
ServerAdmin admin@example.com
#默认是不需要指定的,服务器通过名字解析过程来获得自己的名字,但如果解析有问题,也可以在这里指定IP地址。
#启动Apache时候提示正在启动 httpd:httpd: apr_sockaddr_info_get() failed forjustin httpd: Could not reliably determine the server's fully qualified domain name, using 127.0.0.1forServerName
#解决方法就是启动该项把www.example.com:80修改为自己的域名或者直接修改为localhost
ServerName localhost:80
#配置apache的根目录访问控制
#主要是针对用户对根目录下所有的访问权限控制,默认Apache对根目录访问都是拒绝访问。
<Directory />
    AllowOverride none
    Require all denied
</Directory>
#设置默认的网站根目录,也就是例如http://localhost访问的根目录,可以根据自己喜好修改
DocumentRoot "C:/wamp/work"
#默认根目录的访问控制,可以使用Directory设置多个网站的存放位置
<Directory "C:/wamp/work">
	#你只需要将上面代码中的 Indexes 去掉,就可以禁止 Apache 显示该目录结构。用户就不会看到该目录下的文件和子目录列表了。
    Options Indexes FollowSymLinks
    #可以指定一个后缀,即访问指定后缀名将其作为.php解析
	AddType application/x-httpd-php .vce .py
	#表示允许.htaccess。Order对页面的访问控制顺序后面的一项是默认选项
    AllowOverride All
    #允许任何人访问,可以控制谁能访问
    Require all granted
</Directory>

# 虚拟目录,可设置多个,根据需要
<IfModule dir_module>
# 设置缺省载入页面
DirectoryIndex index.html index.htm index.php
# 设置站点别名,别名与访问路径是相关的,取任何名称都可以(除特殊)
#设置之后通过http://[你的域名]/sdy便可以替代访问study目录
Alias /sdy "C:/wamp/work/study"
<Directory "C:/wamp/work/study">
    Options FollowSymLinks 
    AllowOverride All
	#Make PHP code look like unknown types
	AddType application/x-httpd-php .vce .py
    Require all granted
    #可以强制无文件后缀名解析为php,只在本目录有效,子目录无效,实用性不太高,不建议使用
	<Files *>
    ForceType application/x-httpd-php
	</Files>
	<Files *\.*>
		ForceType None
	</Files>
</Directory>
</IfModule>

<IfModule dir_module>
    DirectoryIndex index.html
</IfModule>
#不允许访问包含“.ht”的文件,主要拒绝用户访问url重定向的配置文件
<Files ".ht*">
    Require all denied
</Files>
#错误日志的存放位置
ErrorLog "logs/error.log"
#apache日志的级别
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>
      # You need to enable mod_logio.c to use %I and %O
      LogFormat "%h %l %u %t \"%r\" %>s %b \"%{Referer}i\" \"%{User-Agent}i\" %I %O" combinedio
    </IfModule>
    CustomLog "logs/access.log" common
</IfModule>

<IfModule alias_module>
    ScriptAlias /cgi-bin/ "${SRVROOT}/cgi-bin/"
</IfModule>
#同上Directory解释
<Directory "${SRVROOT}/cgi-bin">
    AllowOverride All
    Options None
    Require all granted
</Directory>

<IfModule headers_module>
    RequestHeader unset Proxy early
</IfModule>

<IfModule mime_module>
    TypesConfig conf/mime.types
    AddType application/x-compress .Z
    AddType application/x-gzip .gz .tgz
</IfModule>

<IfModule proxy_html_module>
Include conf/extra/proxy-html.conf
</IfModule>

# Secure (SSL/TLS) connections 包含ssl配置文件位置
Include conf/extra/httpd-ssl.conf
#
# Note: The following must must be present to support
#       starting without SSL on platforms with no /dev/random equivalent
#       but a statically compiled-in mod_ssl.
#
<IfModule ssl_module>
	 DirectoryIndex index.html index.php index.htm
</IfModule>

    大概的内容就已经写完,注释里零零散散写得差不多,有其他问题反馈一下。

  • 2
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值