apache学习教程
5.apache教程
httpd.conf文件分析
ServerRoot "E:/phpwebenv/PHPTutorial/Apache" #apache软件安装的位置
Listen 80 #服务器监听的端口号
ServerName localhost #主站点名称(网站的主机名)
DocumentRoot "E:\phpwebenv\PHPTutorial\WWW" #主站点的网页存储位置
<Directory />
Options +Indexes +FollowSymLinks +ExecCGI
AllowOverride All
Order allow,deny
Allow from all
Require all granted
</Directory> 5.1 Options:配置在特定目录使用哪些特性,常用的值和基本含义如下: ExecCGI: 在该目录下允许执行CGI脚本。 FollowSymLinks: 在该目录下允许文件系统使用符号连接。 Indexes: 当用户访问该目录时,如果用户找不到DirectoryIndex指定的主页文件(例如index.html),则返回该目录下的文件列表给用户。 SymLinksIfOwnerMatch: 当使用符号连接时,只有当符号连接的文件拥有者与实际文件的拥有者相同时才可以访问。 5.2 AllowOverride:允许存在于.htaccess文件中的指令类型(.htaccess文件名是可以改变的,其文件名由AccessFileName指令决定):
None: 当AllowOverride被设置为None时。不搜索该目录下的.htaccess文件(可以减小服务器开销)。 All: 在.htaccess文件中可以使用所有的指令 5.3 Order:控制在访问时Allow和Deny两个访问规则哪个优先: Allow:允许访问的主机列表(可用域名或子网,例如:Allow from 192.168.0.0/16)。 Deny:拒绝访问的主机列表。
5.4 服务器优化
httpd -l apache的所有模块
5.5 日志设置
ErrorLog "logs/error.log" #日志文件保存位置
LogLevel error # 日志的级别
日志记录器(Logger)的行为是分等级的。如下表所示:
分为OFF、FATAL、ERROR、WARN、INFO、DEBUG、ALL或者您定义的级别。
Log4j建议只使用四个级别,优先级从高到低分别是 ERROR、WARN、INFO、DEBUG。
#ErrorLog "logs/error.log"
#ErrorLog "|bin/rotatelogs.exe -l logs/error-%Y-%m-%d.log 2M" 如果file-path以一个管道符号(|)开头,那么会为它指定一个命令来处理错误日志
5.5.2 日志规则
LogFormat "%h %l %u %t "%r" %>s %b "%{Referer}i" "%{User-Agent}i"" combined
LogFormat "%h %l %u %t "%r" %>s %b" common #common为日志格式名称
%h --客户端的ip地址或主机名
%l --The 这是由客户端 identd 判断的RFC 1413身份,输出中的符号 "-" 表示此处信息无效。
%u --由HTTP认证系统得到的访问该网页的客户名。有认证时才有效,输出中的符号 "-" 表示此处信息无效。
%t --服务器完成对请求的处理时的时间。
"%r" --引号中是客户发出的包含了许多有用信息的请求内容。
%>s --这个是服务器返回给客户端的状态码。
%b --最后这项是返回给客户端的不包括响应头的字节数。
"%{Referer}i" --此项指明了该请求是从被哪个网页提交过来的。
"%{User-Agent}i" --此项是客户浏览器提供的浏览器识别信息。
1.案例:
规则1.
LogFormat "%h %l %u %t \"%r\" %>s %b \"%{Referer}i\" \"%{User-Agent}i\"" combined
eg:
127.0.0.1 - - [06/Jan/2018:15:57:56 +0800] "GET /user/1 HTTP/1.1" 200 20698 "-"
"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/62.0.3202.75 Safari/537.36"
规则2.
LogFormat "%h %l %u %t \"%r\" %>s %b" common 127.0.0.1 - - [06/Jan/2018:16:02:27 +0800] "GET /user/1 HTTP/1.1" 200 20696
127.0.0.1 - - [06/Jan/2018:16:02:27 +0800] "GET /favicon.ico HTTP/1.1" 200 -
5.6 虚拟主机配置
1.单个IP地址的服务器域名的虚拟主机配置
<VirtualHost *:80>
DocumentRoot "E:\phpwebenv\PHPTutorial\WWW\vue"
ServerName w.vue.com
ServerAlias vue.com
<Directory "E:\phpwebenv\PHPTutorial\WWW\vue">
Options FollowSymLinks ExecCGI
AllowOverride All
Order allow,deny
Allow from all
Require all granted
</Directory>
</VirtualHost>
2.多个ip和多端口的虚拟主机配置
Listen 192.168.2.2:80
Listen 192.168.2.3:8080
<VirtualHost 192.168.2.2:80>
DocumentRoot ""
ServerName www.baidu.com
AccssFileName .htaccess
</VirtualHost> # .htaccess 文件(或者"分布式配置文件")提供了针对每个目录改变配置的方法,即在一个特定的目录中放置一个包含指令的文件,
其中的指令作用于此目录及其所有子目录
5.7 SSL加密的配置
5.8.
apache学习教程的更多相关文章
- MyBatis入门学习教程-使用MyBatis对表执行CRUD操作
上一篇MyBatis学习总结(一)--MyBatis快速入门中我们讲了如何使用Mybatis查询users表中的数据,算是对MyBatis有一个初步的入门了,今天讲解一下如何使用MyBatis对use ...
- Nginx 入门学习教程
昨天听一个前同事说他们公司老大让他去研究下关于Nginx 方面的知识,我想了下Nginx 在如今的开发技术栈中应该会很大可能会用到,所以写篇博文记录总结下官网学习教程吧. 1. 什么是Nginx? 我 ...
- MapServer Tutorial——MapServer7.2.1教程学习——教程背景
MapServer Tutorial——MapServer7.2.1教程学习——教程背景 一.前言 目前处于MapServer学习入门阶段,所以每一步都需要打下扎实基础.尽自己最大的努力,去学习知识的 ...
- Apache Shiro教程
跟开涛学系列: 来自开涛的Apache Shiro教程:http://jinnianshilongnian.iteye.com/blog/2018398 附带的代码例子:https://github. ...
- Apache Kafka教程
1.卡夫卡教程 今天,我们正在使用Apache Kafka Tutorial开始我们的新旅程.在这个Kafka教程中,我们将看到什么是Kafka,Apache Kafka历史以及Kafka的原因.此外 ...
- ActiveMQ学习教程/2.简单示例
ActiveMQ学习教程(二)——简单示例 一.应用IDEA构建Maven项目 File->New->Module...->Maven->勾选->选择->Next ...
- ActiveMQ学习教程/1.简要介绍与安装
ActiveMQ学习教程(一)——简要介绍与安装 一.名词: 1.JMS:即Java消息服务(Java Message Service)应用程序接口,是一个Java平台中关于面向消息中间件(MOM)的 ...
- Windows OS上安装运行Apache Kafka教程
Windows OS上安装运行Apache Kafka教程 下面是分步指南,教你如何在Windows OS上安装运行Apache Zookeeper和Apache Kafka. 简介 本文讲述了如何在 ...
- Deep Learning 19_深度学习UFLDL教程:Convolutional Neural Network_Exercise(斯坦福大学深度学习教程)
理论知识:Optimization: Stochastic Gradient Descent和Convolutional Neural Network CNN卷积神经网络推导和实现.Deep lear ...
随机推荐
- freemarker.core.InvalidReferenceException
1.错误描述 freemarker.core.InvalidReferenceException:on line 68,column 18 in ftl/inc/incPro.ftl p.mainSe ...
- Django学习-5-模板渲染
1. {{ 变量名 }} def func(request): return render(request, ...
- jsonp的案例
一,转发一 首先基于安全的原因,浏览器是存在同源策略这个机制的,同源策略阻止从一个源加载的文档或脚本获取或设置另一个源加载的文档的属性.看起来不知道什么意思,实践一下就知道了. 1.随便建两个网页 一 ...
- Dubbo 新编程模型之外部化配置
外部化配置(External Configuration) 在Dubbo 注解驱动例子中,无论是服务提供方,还是服务消费方,均需要转配相关配置Bean: @Bean public Applicatio ...
- 【BZOJ1146】网络管理(整体二分)
[BZOJ1146]网络管理(整体二分) 题面 良心洛谷,有BZOJ权限题 题解 要看树套树的戳这里 毕竟是:智商不够数据结构来补 所以, 我们来当一回智商够的选手 听说主席树的题目大部分都可以整体二 ...
- [BZOJ4034] [HAOI2015] T2 (树链剖分)
Description 有一棵点数为 N 的树,以点 1 为根,且树点有边权.然后有 M 个操作,分为三种: 操作 1 :把某个节点 x 的点权增加 a . 操作 2 :把某个节点 x 为根的子树中所 ...
- 一个题目涉及到的50个Sql语句
原博客地址 http://blog.csdn.net/maco_wang/article/details/6281484 Student(S#,Sname,Sage,Ssex) 学生表 Course( ...
- Gson解析json字符串、json数组转换成对象
实体类: public class Product { private int id; private String name; private String date; public int get ...
- RPC vs RESTful
在微服务中,使用什么协议来构建服务体系,一直是个热门话题. 争论的焦点集中在两个候选技术: (binary) RPC or Restful. 以Apache Thrift为代表的二进制RPC,支持多种 ...
- jQuary学习の一の初期准备
jQuery 的功能概括: 1.html 的元素选取 2.html的元素操作 3.html dom遍历和修改 4.js特效和动画效果 5.css操作 6.html事件操作 7.ajax异步请求方式 通 ...