02:httpd-2.2基础配置
---恢复内容开始---
9、日志设定
错误日志:
ErrorLog logs/error_log //这里使用了相对路径,相对于/etc/httpd/路径
LogLevel warn //定义日志记录级别,指明记录到那个级别,那么这个级别更高的日志级别都会被一并记录
日志级别:debug, info, notice, warn, error, crit, alert, emerg(默认是warn)
访问日志:
CustomLog logs/access_log combined //conbined是日志格式,就是下面
LogFormat "%h %l %u %t \"%r\" %>s %b \"%{Referer}i\" \"%{User-Agent}i\"" combined
%h:客户端IP地址;
%l: Remote logname (from identd, if supplied). “-”表示为空;
%u: Remote user,基于httpd的协议的basic或digist认证所实现的用户登陆(from auth; may be bogus if return status (%s) is 401);大多数为空
%t:Time the request was received (standard english format),服务器收到请求的时间;
%r:First line of request,请求报文的首行信息(method url version);
%>s: 响应状态码;status code
%b: 响应报文的大小,单位是字节,不包括响应报文首部;
%{Referer}i:请求报文当中"referer"首部的值;当前资源的访问入口,即从哪个页面中的超链接跳转而来;referer为空表示是从浏览器直接键入的,不是从超链接跳转的
%{User-Agent}i:请求报文当中"User-Agent"首部的值;即发出请求用到的应用程序;
详情:http://httpd.apache.org/docs/2.2/mod/mod_log_config.html#formats
示例:192.168.108.1 - - [31/May/2018:22:11:15 +0800] "GET / HTTP/1.1" 403 283 "-" "Mozilla/5.0 (Windows NT 10.0; WOW64; Trident/7.0; rv:11.0) like Gecko"
10、路径别名
DocumentRoot "/www/htocs"
http://www.magedu.com/download/bash-4.4.2-3.el6.x86_64.rpm
路径映射:--> /www/htdocs/download/bash-4.4.2-3.el6.x86_64.rpm
Alias /URL/ "/PATH/TO/SOMEDIR/" //URL是原路径,后面为别名路径// 别名指访问一个路径时,这个路径应该在DocumentRoot下,但却被定向到别的位置:
示例:
#mkdir -pv /www/htdocs
#cd !$
#mkdir bbs
#vim /www/htdocs/bbs/index.html //为bbs目录下创建网页添加内容 Page at /bbs,此时在页面中是无法访问的
#vim /etc/httpd/conf.d/httpd.conf //修改
Alias /bbs/ "/forum/htdocs" //定义bbs别名为/forum/htdocs
http://www.magedu.com/bbs/index.html
别名路径为:--> /forum/htdocs/bbs/ /在根目录下创建的forum,这里跟DocumentRoot没有关系
11、设定默认字符集
AddDefaultCharset UTF-8 //设定默认字符集
GBK, GB2312, GB18030 //这3个都是国标中文字符编码
12、基于用户的访问控制(重要)
1、认证质询:
WWW-Authenticate:响应码为401,拒绝客户端请求,并说明要求客户提供账号和密码;
2、认证:
Authorization:客户端用户填入账号和密码后再次发送请求报文;认证通过,则服务器发送响应的资源;
认证类型:
basic:明文认证
digest:消息摘要(经过md5加密)
安全域:需要用户认证后方能访问的路径;
应该通过名称对其进行标识,并用于告知用户认证的原因;
用户的账号和密码存储于何处?
虚拟账号:仅用于访问某服务时用到的认证标识;
存储://虚拟账号存储地方
文本文件
SQL数据库
ldap//轻量目录访问协议
nis
基于IP添加虚拟主机
第一步:先在httpd的主配置文件中添加配置
#vim /etc/httpd/conf/httpd.conf //在主配置文件的最后一行添加两个虚拟主机的配置文件
<VirtualHost 192.168.108.160:80>
ServerName web1.magedu.com
DocumentRoot "/vhosts/web1/htdocs"
</VirtualHost>
<VirtualHost 192.168.108.161:80>
ServerName web2.magedu.com
DocumentRoot "/vhosts/web2/htdocs"
</VirtualHost>
#httpd -t 或者 #service httpd configtest //可以查看主配置文件语法是否正确
第二步:
#mkdir /vhosts/{web1,web2,web3,web4}/htdocs -pv //添加虚拟主机的 DocumentRoot
第三步:为虚拟主机配置访问页面
#vim /vhosts/web1/htdocs/index.html 添加:Page at web1
#vim /vhosts/web2/htdocs/index.html 添加:Page at web2
用浏览器输入网址192.168.108.160/161就可以访问了
---恢复内容结束---
9、日志设定
错误日志:
ErrorLog logs/error_log //这里使用了相对路径,相对于/etc/httpd/路径
LogLevel warn //定义日志记录级别,指明记录到那个级别,那么这个级别更高的日志级别都会被一并记录
日志级别:debug, info, notice, warn, error, crit, alert, emerg(默认是warn)
访问日志:
CustomLog logs/access_log combined //conbined是日志格式,就是下面
LogFormat "%h %l %u %t \"%r\" %>s %b \"%{Referer}i\" \"%{User-Agent}i\"" combined
%h:客户端IP地址;
%l: Remote logname (from identd, if supplied). “-”表示为空;
%u: Remote user,基于httpd的协议的basic或digist认证所实现的用户登陆(from auth; may be bogus if return status (%s) is 401);大多数为空
%t:Time the request was received (standard english format),服务器收到请求的时间;
%r:First line of request,请求报文的首行信息(method url version);
%>s: 响应状态码;status code
%b: 响应报文的大小,单位是字节,不包括响应报文首部;
%{Referer}i:请求报文当中"referer"首部的值;当前资源的访问入口,即从哪个页面中的超链接跳转而来;referer为空表示是从浏览器直接键入的,不是从超链接跳转的
%{User-Agent}i:请求报文当中"User-Agent"首部的值;即发出请求用到的应用程序;
详情:http://httpd.apache.org/docs/2.2/mod/mod_log_config.html#formats
示例:192.168.108.1 - - [31/May/2018:22:11:15 +0800] "GET / HTTP/1.1" 403 283 "-" "Mozilla/5.0 (Windows NT 10.0; WOW64; Trident/7.0; rv:11.0) like Gecko"
10、路径别名
DocumentRoot "/www/htocs"
http://www.magedu.com/download/bash-4.4.2-3.el6.x86_64.rpm
路径映射:--> /www/htdocs/download/bash-4.4.2-3.el6.x86_64.rpm
别名指访问一个路径时,这个路径应该在DocumentRoot下,但却被定向到别的位置:
Alias /URL/ "/PATH/TO/SOMEDIR/" //URL是原路径,后面为别名路径
示例:
Alias /bbs/ "/forum/htdocs" //定义bbs别名为/forum/htdocs
http://www.magedu.com/bbs/index.html
别名路径为:--> /forum/htdocs/bbs/ /在根目录下创建的forum,这里跟DocumentRoot没有关系
11、设定默认字符集
AddDefaultCharset UTF-8 //设定默认字符集
GBK, GB2312, GB18030 //这3个都是国标中文字符编码
12、基于用户的访问控制(重要)
1、认证质询:
WWW-Authenticate:响应码为401,拒绝客户端请求,并说明要求客户提供账号和密码;
2、认证:
Authorization:客户端用户填入账号和密码后再次发送请求报文;认证通过,则服务器发送响应的资源;
认证类型:
basic:明文认证
digest:消息摘要(经过md5加密)
安全域:需要用户认证后方能访问的路径;
应该通过名称对其进行标识,并用于告知用户认证的原因;
用户的账号和密码存储于何处?
虚拟账号:仅用于访问某服务时用到的认证标识;
存储://虚拟账号存储地方
文本文件
SQL数据库
ldap//轻量目录访问协议
nis
基于IP添加虚拟主机
第一步:先在httpd的主配置文件中添加配置
#vim /etc/httpd/conf/httpd.conf //在主配置文件的最后一行添加两个虚拟主机的配置文件
<VirtualHost 192.168.108.160:80>
ServerName web1.magedu.com
DocumentRoot "/vhosts/web1/htdocs"
</VirtualHost>
<VirtualHost 192.168.108.161:80>
ServerName web2.magedu.com
DocumentRoot "/vhosts/web2/htdocs"
</VirtualHost>
#httpd -t 或者 #service httpd configtest //可以查看主配置文件语法是否正确
第二步:
#mkdir /vhosts/{web1,web2,web3,web4}/htdocs -pv //添加虚拟主机的 DocumentRoot
第三步:为虚拟主机配置访问页面
#vim /vhosts/web1/htdocs/index.html 添加:Page at web1
#vim /vhosts/web2/htdocs/index.html 添加:Page at web2
用浏览器输入网址192.168.108.160/161就可以访问了
示例2:基于port
修改主配置文件,G跳转到最后一行
<VirtualHost 192.169.108.161:80>
ServerName web2.magedu.com
DocumentRoot "/vhosts/web2/htdocs"
</VirtualHost>
<VirtualHost 192.168.108.161:8080>
ServerName web3.magedu.com
DocumentRoot "/vhosts/web3/htdocs"
</VirtualHost>
这里添加了8080端口,上面的Listen也需要监听8080端口
Listen 8080
# vim /vhosts/web3/htdocs/index.html //给web3添加页面
这里必须重启httpd,因为这里改变了端口,reload已经不起作用了
在浏览器中键入http://192.168.108.161:8080就可以访问了
示例3:基于hostname
首先需要启用 NameVirtualHost *:80,改为 NameVirtualHost 192.168.108.160:80,要和下面<VittualHost>保持一致,表示基于主机名的虚拟主机,httpd2.2需要修改,httpd2.4就不需要了
VirtualHost 192.168.108.160:80>
ServerName web1.magedu.com
DocumentRoot "/vhosts/web1/htdocs"
</VirtualHost>
<VirtualHost 192.168.108.160:80>
ServerName web2.magedu.com
DocumentRoot "/vhosts/web2/htdocs"
</VirtualHost>
<VirtualHost 192.168.108.161:80>
ServerName web3.magedu.com
DocumentRoot "/vhosts/web3/htdocs"
</VirtualHost>
此时在浏览器中键入web1.magedu.com就可以访问web1 的页面,但是需要解析
这里就利用另外一个主机192.168.108.159进行解析
#vim /etc/hosts
192.168.108.160 web1.magedu.com
192.168.108.160 web2.magedu.com
192.168.108.161 web3.magedu.com
再利用命令curl进行解析,均有相应
#curl web1.magedu.com
#curl web2.magedu.com
#curl web3.magedu.com
每个虚拟主机都可以定义自己的日志
VirtualHost 192.168.108.160:80>
ServerName web1.magedu.com
DocumentRoot "/vhosts/web1/htdocs"
CustomLog logs/web1_access_log combined //这里logs是相对路径 在#ls /var/log/httpd,建议使用单独日志
</VirtualHost>
<VirtualHost 192.168.108.160:80>
ServerName web2.magedu.com
DocumentRoot "/vhosts/web2/htdocs"
CustomLog logs/web2_access_log combined
</VirtualHost>
内置的status页面
#vim /httpd/conf/httpd.conf
<Location /server-status> //如果用户在浏览器中使用了server-status,它会调用一个叫server-status的headler来处理,并指明白名单
SetHandler server-status
Order deny,allow
Deny from all
Allow from 192.168.108
</Location>
#service httpd reload
在浏览器中键入http://192.168.108.160/server-status


02:httpd-2.2基础配置的更多相关文章
- 1 - django-介绍-MTV-命令-基础配置-admin
目录 1 什么是web框架 2 WSGI 3 MVC与MTV模式 3.1 MVC框架 3.2 MTV框架 3.3 区别 4 django介绍 4.1 Django处理顺序 4.2 创建django站点 ...
- ansible基础配置
1.基础配置 1.1.环境 主机配置 ansible版本:2.7.4 控制端:centos7.4,IP:192.168.1.213,主机名:operation 被控制端: centos6.5,IP:1 ...
- Tomcat基础配置和高级配置
********** 第一部分 Tomcat基础配置 *********** 一.Apatch Tomcat 在win下配置 大部分转载自:http://blog.csdn.net/liuhao ...
- 【linux配置】Redhat6.5基础配置指南
Redhat6.5基础配置指南 本文针对鄙人在工作中常用系统配置加以说明,通常公司用于生产和测试的服务器基本上都不能连接外网,需要针对刚刚安装好的系统做一系列的常用配置. 一.常用基础系统配置 1.关 ...
- HAproxy 基础配置
基础配置详解 HAProxy 的配置文件haproxy.cfg由两大部分组成,分别是global和proxies部分 global:全局配置段 进程及安全配置相关的参数性能调整相关参数Debug参数 ...
- StackExchange.Redis帮助类解决方案RedisRepository封装(基础配置)
本文版权归博客园和作者吴双本人共同所有,转载和爬虫,请注明原文地址.http://www.cnblogs.com/tdws/p/5815735.html 写在前面 这不是教程,分享而已,也欢迎园友们多 ...
- Hibernate 基础配置及常用功能(三)
本章重点讲述Hibernate对象的三种状态以及如何配置二级缓存 有关Hibernate的三种状态如何相互转换网上都能查到,官方文档描述的也比较详细.这里主要是针对几个重点方法做代码演示. 一.状态转 ...
- Emacs学习心得之 基础配置
作者:枫雪庭 出处:http://www.cnblogs.com/FengXueTing-px/ 欢迎转载 Emacs学习心得之 基础配置 1.前言2.基础配置 一.前言 本篇博文记录了Emacs的一 ...
- nginx 的基础配置[转]
nginx 的基础配置 分类: 工具软件2013-11-13 23:26 11人阅读 评论(0) 收藏 举报 目录(?)[-] 管理配置文件 全局配置 虚拟机server配置 location配置 ...
随机推荐
- 20165305 实验一: Java开发环境的熟悉
实验1-1 建立"自己学号exp1"的目录. 在"自己学号exp1"目录下建立src,bin等目录. javac,java的执行在"自己学号exp1& ...
- USMART 组件移植到STM32
USMART是由ALIENTEK开发的一个串口调试助手组件,通过它可以通过串口调试助手,调用程序里面的任何函数并执行,单个函数最多支持10个输入参数,并支持函数返回值显示. USMART支持的参数类型 ...
- golang学习笔记16 beego orm 数据库操作
golang学习笔记16 beego orm 数据库操作 beego ORM 是一个强大的 Go 语言 ORM 框架.她的灵感主要来自 Django ORM 和 SQLAlchemy. 目前该框架仍处 ...
- java was started but exit code =-805306369
打开STS 时报 java was started but exit code =-805306369这个错,一个页面. 原因我把STS里面的默认jdk换成了7.但是STS的ini文件里依赖的 ...
- Bluetooth协议栈学习之SDP
服务发现协议(SDP或Bluetooth SDP)在蓝牙协议栈中对蓝牙环境中的应用程序有特殊的含意,发现哪个服务是可用的和确定这些可用服务的特征.SDP定义了bluetooth client发现可用b ...
- SharePoint入门——创建一个网站
1.首先安装SP相关环境,可以百度到具体操作步骤: (以下步骤基于本人环境:本人用的Win10自带的Hyper-V虚拟机.Windows Server2012R2.SQL2014以及SharePoin ...
- 怎样从外网访问内网Tomcat?
本地安装了一个Tomcat,只能在局域网内访问,怎样从外网也能访问到本地的Tomcat呢?本文将介绍具体的实现步骤. 准备工作 安装并启动Tomcat 默认安装的Tomcat端口是8080. 实现步骤 ...
- java类中使用quartz,设置自动任务Demo
package com.tech.jin.jobScheduler; import java.text.ParseException; import java.util.ArrayList; impo ...
- 使用Selenium和openCV对HTML5 canvas游戏进行自动化功能测试(一)
上一篇讲了HTML5 canvas游戏的基本工作原理,接下来讲如何进行自动化功能测试. Selenium是一个跨平台的跨浏览器的对网页进行自动化测试的工具.从Selenium 2.0开始Seleniu ...
- Docker学习笔记之通过 Dockerfile 创建镜像
0x00 概述 由于 Docker 镜像的结构优势,使它的占用空间远小于普通的虚拟机镜像,而这就大幅减少了 Docker 镜像在网络或者其他介质中转移所花费的时间,进而提高了我们进行迁移部署的效率.不 ...