[Apache2]翻译

1 入门指南

如果你是一个Apache HTTP服务的新手,或者从来没有运行过服务器端,你需要立刻知道自己如何开始,或者该问什么问题,这篇文章是你需要看的

1.1 服务端,用户端,和URLs

网站的地址通常用URLs - Uniform Resource Locators(可以理解为是网站链接)来表示,典型的例子是通过一个协议(如:http) + 一个服务器名(如:www.apache.org) + 一个URLs地址(如:/docs/current/getting-started.html),如果有查询语句的话,通常使用字符串(如: ?arg=value)来对服务器询问
客户端(通常是一个浏览器)连接到服务器(比如使用Apache的HTTP服务),使用特定的协议,并且使用URL对源进行请求
URL地址可能包含任何的关于服务器的内容,它有可能是一个文件(比如getting-started.html),一个处理(比如server-status)或者是一个程序文件(比如 index.php),我们将在下面的客户端环节来详细介绍
服务器将会发送一个有状态码的响应,这个状态码代表着是否这个请求是成功的,如果没有成功,一些故障码将会告诉客户端如何处理这个错误,你可以读一些常见的可能在状态码在HTTP Server wifi中。
详细的传输或者一些其他的故障情况,会在日志文件中记录,详细的可以看日志记录章节

1.2 服务器地址和DNS

为了连接到一个服务器,客户端首先需要将服务器名称解析成一个IP地址-服务器在互联网的地址,为了让服务器端可以用,很有必要让服务器的名字在DNS中
如果你不知道如何做这些工作,你需要联系你的网络管理员,或者网络服务供应商
不止一个服务器地址指向同一个IP地址,同时也不止一个IP可以连接到相同的物理服务器,你可以在同一个物理服务器上运行不止一个服务端应用程序,但是这需要借助虚拟主机的概念。
如果你不能在以太网上来测试你的服务器尚需,你可以将主机名放在本地文件中,这样可以在本地进行解析,举个例子,你可能记录在你的客户端的主机文件中来向www.example.com中发送一个请求,看起来有点像下面的地址:

127.0.0.1 www.example.com

主机文件可能在etc/hosts或者**C:\Windows\system32\drivers\etc\hosts.**中

1.3 配置文件和指令

Apache HTTP服务器仅仅由一个简单的文本文件所配置,这个文件可能在任何地方,取决于你安装的服务器上,通常这些文件可以在默认地址,如果你是从source中下载的这个程序,默认的配置文件的地址在**/usr/local/apache2/conf.中,默认的配置文件通常叫httpd.conf也可以在第三方服务器的第三方进行更改
通常配置文件都拆成了多个文件,为了方便管理这些文件,这些文件通常都在Include指令中,这些文件的位置通常不是很神奇,但是在不同的安装环境下会有比较大的差异,你可以排列和布置这些文件来让他们更符合你的需求,如果这些默认的配置不合适你,可以随意的安排
服务器的配置设定值通常是由配置文件的关键字决定的,一个关键字通常是文件中的一个键,后面会有很多值来设置参数
关于问题
我应该把指令放在那里**的问题的通常的回答是:这取决于你想让这些指令在哪里生效,如果是一个全局的这是,你应该吧指令放在配置文件中,不在任何的, , 以及其他的区域中,如果你想应用一个特定的地址,那么十九可以放在区域中,更多的信息,请参考Configuration Sections
除了主要的设置之外,特定的指定需要加上,.htaccess 文件在内容指令中,.htaccess文件主要对于那些没有访问主要服务器配置的用户,你可以在.htaccess howto中来阅读更多有关于.htaccess文件的信息

1.4 Web端的内容

Web端的内容可以是很多种不同的形式,但是主要的可以分为动态的形式和静态的形式
静态的形式类似于HTML文件,图像文件,CSS文件或者其他的可以存在于文件系统的文件,指令Document Root说明了你应在哪里粗放你的这些文件,这些指定通常是全局的设置,或者没有虚拟的主机一个设置
典型的,名为index.html文件将会在一个没有任何指定名字的时候被显示,举个例子,如果文件的根目录在 /var/www/html中,然后请求是http:/www.example.com/work/,最终,文件/var/www/html/work/html将会被发送到客户端
动态的连接是任何在请求阶段才生成的,还有可能在一个指向不同服务器的时候不同,有很多生成动态的内容的方式
第三方的模块,比如mod_php可以用于写代码,但是没有任何的验证,很多第三方的应用都是用很多种不同的语言和工具写的,他们允许下载并安装在Apache HTTP服务器中,第三方的支持可能会超出本文讨论的范畴,你可能需要看其他的支持文档。

1.5 文件记录和一些其他问题

作为一个Apache HTTP服务器的管理员,你可能需要设置记录文件,尤其是故障记录,找没有故障记录的BUG就像大海捞针一样
故障记录的是由ErrorLog指令定义的,可能是全局的,或者在每一个虚拟的主机中,整个故障记录文件将告诉你那些问题是什么故障,通常它也会告诉你如何修复这个故障,你可以在网上搜索浙这些故障码,你可以可是配置让你的故障信息包含故障ID,这些ID可以和访问日志相关联,你可以来查看是什么请求导致了这个问题。

2 绑定地址和端口

绑定Apache HTTP服务器来监听某些替丁的地址和端口

2.1 概览

相关的模块相关的指令
core
mpm_commonListen

当你开始http是,需要在本地机器上绑定一些port口和地址用来接收输入的指令,默认情况下,它监听所有的发送给这个机器的地址,然而,有必要来设置特定的端口,或者某些指定的地址,或者他们两个的混合,他们通常和virtual特性绑定在一起,这表明httpd响应不同的IP地址,主机名称和端口号的指令
指令Listen告诉服务器只能接受指定端口或者指定端口地址的请求,如果在Listen指令中只有一个端口,那么这个服务器监听给定端口的所有接口,举个例子,你想让服务器来相应来自端口80和端口8000的所有的指令,那就需要使用

Listen 80
Listen 8000

如果想让服务器来接受来自一个在端口80上的接口的连接,同时端口8000接受另外一个,那就需要这么写

Listen 192.0.2.1:80
Listen 192.0.2.5:8000

2.2 改变监听的配置,并且重启

当httpd重启的时候,必须要在指令Listen中做出变更,在重启的过程中,httpd保持端口的范围(就像在初试配置中一样),来避免在新的对服务器的请求产生“连接失败”的故障,如果在Listen指令中最初的变更和之前的旧的指令产生了冲突,则配置文件会报错,而且服务将会停止,举个例子变更配置

Listen 127.0.0.1:180

将会和指令

Listen 80

冲突

2.3 IPV6的支持

大量的平台开始支持Ipv6了,而且ARP开始在很多他们的平台上开始支持IPv6,允许指定IPv6 sockets,可以通过IPv6来操控请求,httpd管理员需要面对的问题是IPv6的套接字是否可以处理Ipv4和IPv6的连接,使用IPv6的套接字来处理Ipv4的连接将使用IPv4来映射IPv6的地址,在很多的平台上都是允许的,但是FreeBSD,NetBSD,OpenBSD中默认不允许的,为了适配各种不同的系统平台,在默认情况下不允许使用它的系统,一个指定的配置参数可以改变Httpd的行为。
换句话说,在一些平台中,比如Liunx和Tru64中,唯一的方式来操作所有的IPv6和IPv4平台是使用映射地址,如果你想httpd来操控IPv4和IPv6的连接并使用最小的套接字,需要使用IPv4d来映射IPv6的地址,需要 --enable-v4-mapedconfigure设置

2.4 指定监听某种特定的协议

可选的第二条协议参考Listen在大多数的配置中是不需要的,如果没有指定,https是对默认对443端口的,而且http是支持所有的其他的端口,这个协议是用来指定哪一个模块可以操作一个请求,并且适用于指令AcceptFilter中所指定的选项
如果你运行一个非标准的端口上,你需要设置协议,举个例子,运行在端口8443中的https

Lieten 192.170.2.1:8443 https

2.5 如何在虚拟主机中运行以上

10 映射URL到文件系统中

10.1 相关的模块

点击查看相关模块

文件根目录

要决定给指定的请求提供什么文件,httpd的默认的表现是将请求的URL地址(URL的一部分是主机名和端口号)并且需要将其添加到DocumentRoot设定中,文件和DocumentRoot下的指令构成了web访问的基本的文件树
举个例子:

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值