×

Apache的配置与运用_apache配置

前端技术网 前端技术网 发表于2024-01-25 05:43:43 浏览3580 评论0

抢沙发发表评论

一、apache最基本的配置有哪些步骤

1,hostname先设置一下,不然 error.log中会有警告,虽然无关紧要但是总归不好看

2,设置 documentroot路径,端口设置一下也

Apache的配置与运用_apache配置

3,配置 directory增加 index index.php index.html项,options项目禁止列目录

4,依然是 directory配置,设置.htaccess及其它文件的 access为 deny

5,配置 log目录及 logformat

6,配置虚拟主机,记得设置 access log指向你设置的 logformat,error log的目录设置好

7,启用 rewrite

8,其它项:采用 include包含的方式包含虚拟机配置文件目录,模块加载目录及模块配置文件目录,对于所有的目录项最好先声明全局变量方便统一修改

Apache的配置与运用_apache配置

9,性能优化项目,配置 max_connect,start server number等相关参数,具体请 google

10,欢迎补充

二、apache服务器如何设置域名和IP地址

1、找到apache安装目录下,conf文件夹下的httpd.conf文件,用记事本或其他文本编辑软件打开。

2、在文件中搜索”Include conf/extra/httpd-vhosts.conf“这一行,去掉前面的”#“,开启虚拟主机功能。

3、找到apache安装目录下,conf/extra文件夹中的httpd-vhosts.conf文件,用记事本或其他文本编辑软件打开。

4、在文件的最后,加上以下代码后保存:

<VirtualHost*:80>

ServerName www.domain.com

DocumentRoot D:/www/domain

<Directory"D:/www/domain">

Options+Indexes+Includes+FollowSymLinks+MultiViews

AllowOverride None

Order allow,deny

Allow from all

</Directory>

</VirtualHost>

其中,80是服务器的端口,ServerName后面的是域名,DocumentRoot和Directory后面的是网站程序所在的目录。

5、找到服务器的hosts文件,以Windows系统为例,在C:\windows\system32\drivers\etc目录下,用记事本或其他文本编辑软件打开。

6、在hosts文件的末尾添加一行126.63.36.3 www.domain.com,并保存,重启服务后即可通过域名访问。

三、Apache的配置详细过程

抄的:

-----------

#这是主要的 Apache服务器配置文件。它包含#给服务器它的指

令的配置指令。#为详细的信息关于看见

<URL:http://www.apache.org/docs/>#指令。

#

#不简单地确实没有理解在这里读指令#他们做什么。他们仅仅作

为提示或提示在这里。如果你是不肯定的#请教联机的文档。你被

警告了。

#

#在这个文件被处理以后,服务器将寻找并且处理

# c:/website/apache/conf/srm.conf and then c:/website/apache/conf/access.conf

#除非你与 ResourceConfig制服了这些或#这里的 AccessConfig

指令。

#

#配置指令被组织进 3基本的节:# 1。控制 Apache服务器的操

作的指令处理作为一

#整个("全球的 environment')。

# 2.定义参数的指令“主要”或“缺省”服务器,

#它反应到那没被一台虚拟的主机处理的请求。

#这些指令也为设置提供缺省值

#所有的虚拟的主机。

# 3.为虚拟的主机的设置,它允许网请求被送到

#不同的 IP地址或主机名并且把他们处理了由

#同样的 Apache服务器进程。

#

#配置和日志文件名字:如果你为许多指定的文件名#服务器的控

制文件开始"/"(或为 Win32的“ drive:/”),#服务器将使用

那条显式的路径。如果文件名做*不*开始#与"/",

ServerRoot的值被附在前面--因此“ logs/foo.log”#与

ServerRoot到“/usr/local/apache”的**将被解释由#作为

“/usr/local/apache/logs/foo.log”的服务器。

#

#注意:文件名在哪儿被指定,你必须向前使用猛砍#而不是反斜

线(例如,“ c:/apache”而不是“ c:apache”)。#如果一

个驱动器字母被省略, Apache.exe在其上被定位的驱动器#将被

缺省使用。你总是供应,这被推荐#在绝对的路径的一个显式的驱

动器字母,然而,避免#混乱。

#

###节 1:全球的环境

#

#在这节的指令影响 Apache的全面的操作,#例如并发的请求的数

字它能处理或在哪儿它#能发现它的配置文件。

#

#

# ServerType是 inetd,或独立。 Inetd模式仅仅被支持在上#

Unix平台。

#

独立的 ServerType

#

# ServerRoot:在下面的目录树的顶服务器的#配置,误差,并且

记录文件被坚持。

#

#别增加一在目录路径的结束猛砍。

#

ServerRoot“ c:/网点/apache”

#

# PidFile:服务器应该在其记录它的进程的文件#鉴定数字当它

启动时。

#

PidFile logs/httpd.pid

#

# ScoreBoardFile:文件过去常存储内部的服务器进程信息。#不

所有的体系结构要求这。但是如果你的做(因为,你将知道#当你

运行 Apache时,这个文件将被创造)那么你*必须*保证那#

Apache的没有 2祈祷分享一样的纪分牌文件。

#

ScoreBoardFile元木/apache_status

#

#在标准的配置,服务器将处理 httpd.conf,# srm.conf,并且在

那份订单的 access.conf。后者 2个文件是#现在散布了空,当

被推荐所有的指令#为简洁被放在一个单个的文件。评价外面珍视

#下面是内建的缺省。你能让服务器忽略#这些文件旁边完全使用

“/dev/null”(为 Unix)或#“ nul”(为 Win32)为到

指令的参数。

#

#ResourceConfig conf/srm.conf

#AccessConfig conf/access.conf

#

#超时:秒的数字以前收到并且送超时。

#

超时 300

#

# KeepAlive:是否允许坚持的连接(多于#一个请求每连接)。

设定到“离开”撤销。

#

KeepAlive在上

#

# MaxKeepAliveRequests:允许的请求的最大的数字#在一个坚持

的连接期间。设定到 0允许无限的数量。#我们你让这个数字高的

reccomend,为最大的性能。

#

MaxKeepAliveRequests 100

#

# KeepAliveTimeout:秒数字等下一个请求从#在一样的连接上的

同样的顾客。

#

KeepAliveTimeout 15

#

#在 Win32上的 Apache总是创造一子进程处理请求。如果它#死,

另外的子进程自动地被创造。在孩子以内#多重的线程处理到来的

请求的进程。下一 2#指令控制线程和进程的行为。

#

#

# MaxRequestsPerChild:请求各个子进程的数字是#在孩子死以

前,允许了处理。孩子将这样退出#至于当时,在延长的使用以后

避免问题 Apache(并且也许#它使用的图书馆)漏缝存储器或其

它资源。在大多数系统上,这#确实不被需要,但是一些(例如

Solaris)确实有著名的漏缝#在图书馆。为 Win32,将这值放到

零(无限)#除非不那样劝告了。

#

MaxRequestsPerChild 0

#

#并发的线程的数字(即,请求)服务器将允许。#将这值放根据

服务器的应答(更#活跃的请求马上他们都更慢慢地被处理的工具

)并且#你将允许服务器消费的系统资源的数量。

#

ThreadsPerChild 50

#

#听:允许你把 Apache绑在特定的 IP地址或#端口,除了缺省。

也参见<VirtualHost>#指令。

#

#Listen 3000

#Listen 12.34.56.78:80

#

# BindAddress:你能与这选择支持虚拟的主机。这条指令#被用

来告诉服务器哪个听的 IP地址。它能也#包含"*",一个 IP地

址,或充分合格的因特网域名。#也参见<VirtualHost>并且听指

令。

#BindAddress*

#

#动态分享的对象( DSO)支持

#

#能使用作为一 DSO被造的一个模块的功能你#必须放相应的“

LoadModule”这样在这个地点排队#在它被包含了的指令是他们被

使用的实际上可得到的 _before_。#请为更多在 Apache 1.3分发

读文件 README.DSO#关于 DSO机制和跑的细节" apache- l"

为表已经#内建(静态地连接了并且这样总是可得到)在你的

Apache的模块。

#

#注意:模块在其被装载的顺序是重要的。别变化#在没有专家忠

告下面的顺序。

#

#LoadModule anon_auth_module

modules/ApacheModuleAuthAnon.dll#LoadModule

cern_meta_module modules/ApacheModuleCERNMeta.dll

#LoadModule digest_module modules/ApacheModuleDigest.dll

#LoadModule expires_module modules/ApacheModuleExpires.dll

#LoadModule headers_module

modules/ApacheModuleHeaders.dll#LoadModule proxy_module

modules/ApacheModuleProxy.dll#LoadModule rewrite_module

modules/ApacheModuleRewrite.dll#LoadModule speling_module

modules/ApacheModuleSpeling.dll#LoadModule

status_module modules/ApacheModuleStatus.dll#LoadModule

usertrack_module modules/ApacheModuleUserTrack.dll

#

# ExtendedStatus控制 Apache是否将产生“完整”的地位#信息

( ExtendedStatus在上)或就基本的信息( ExtendedStatus#

离开)什么时候处理器被调用的“服务者地位”。缺省关。

#

#ExtendedStatus在上

###节 2:“主要”的服务器配置

#

#在这节的指令安装被使用了由的值“主要”#服务器,它反应到

没被处理由的任何请求一#<VirtualHost>定义。这些值也提供缺省

为#你可以以后在文件定义的任何<VirtualHost>集装箱。

#

#这些指令的所有可以在<VirtualHost>集装箱内出现,#在此情况

这些缺省设置将被制服为#虚拟的主机正在被定义。

#

#

#如果你的 ServerType指令(更早在“全球的环境”设定#节)

被设置到“ inetd”,下一条很少指令没有任何东西#自从他们

的设置的效果被 inetd配置定义。#向前跳过到 ServerAdmin指令。

#

#

#端口:独立的服务器听到其的端口。

#

端口 80

#

# ServerAdmin:你的地址,有服务器的问题应该在此#发电子邮

件。这个地址在一些产生服务者的页上出现,如此的#当误差记录。

#

ServerAdmin you@your.address

#

# ServerName允许你使一台主机命名哪个被送回到顾客为#你的如

果它比一个不同,程序将得到的服务器(即,使用#“ www”而

不是主机的真实的名字)。

#

#注意:你不能就发明主机名字和他们工作的希望。名字你#定义

这必须你的主机有一个有效的 DNS名字。如果你不理解#这,问你

的网络主管。

#如果你的主机没有一个登记的 DNS名字,这里进入它的 IP地址。

#你将必须由它的地址存取它(例如, http://123.45.67.89/)#

不管怎样,并且这将在一个理智的方法使重定向成为工作。

ServerName http://127.0.0.1/

#

# DocumentRoot:你将从其提供的目录你的#文件。由缺省,所有

的请求从这个目录被拿,但是#符号的连接和别名可以被用来指向

另外的地点。

#

DocumentRoot“ c:/网点”

#

#有存取到此 Apache的每个目录,能与方面被设置#到哪个服务

和特征在那被允许或残废#目录(并且它的子目录)。

#

#第一,我们设置“缺省”是一个很限制的**#允许。

#

<Directory/>

选择 FollowSymLinks

AllowOverride没有

</Directory>

#

#向前从这个点你必须具体地说允许的笔记#被启用的特别的特征

-因此如果一些东西的不工作作为#你可能期望,保证你具体地说

启用了它#在下面。

#

#

#这应该被改变到你将 DocumentRoot放到无论什么。

#

<Directory"c:/网点/apache/htdocs">

#

#这可以也是“没有”,“索引”的“所有的”,或任何联合,#“

包括”,“ FollowSymLinks”,“ ExecCGI”,或“ MultiViews

”。

#

#注意“ MultiViews”必须被命名*明确地*---“选择所有”#

别把它给你。

#

选择索引 FollowSymLinks MultiViews

#

#这控制哪个选择在目录罐头的.htaccess文件#制服。能也是“

选择”的“所有的”,或任何联合,“ FileInfo”,#“

AuthConfig”,并且“限制”

#

AllowOverride没有

#

#能得到的控制从这个服务器填满。

#

顺序允许,否认

从所有允许

</Directory>

#

# UserDir:到一个用户的家之上被添加的目录的名字#目录如果

一个~用户请求被收到。

#

#在 Win32下面,我们不当前确实试着决定主目录# Windows登录,

例如那的格式下面这样需要被使用。看#为细节的 UserDir文档。

#

UserDir“ c:/网点/apache/用户/”

#

# DirectoryIndex:文件或文件命名作为一写得前的 HTML使用#

目录索引。有空格的分开的多重的入口。

#

DirectoryIndex index.html index.php index.php3

index.phtml

#

# AccessFileName:在每个目录寻找的文件的名字#为存取控制信

息。

#

AccessFileName.htaccess

#

#下列行阻止.htaccess文件被看由#网顾客。自从.htaccess

文件经常包含授权#信息,存取为安全原因被否认。注释#这些如

果你想要网来宾看见内容,外面排队#.htaccess文件。如果你上

面改变 AccessFileName指令,#肯定这里做相应的变化。

#

<Files.htaccess>

顺序允许,否认

从所有否认

</Files>

#

# CacheNegotiatedDocs:由缺省, Apache送" Pragma:没有缓

存"与各个#在内容的基础上被谈判的文件。这问代理#不缓冲

这个文件的服务器。下列行停用的 Uncommenting#这行为,并且代

理将被允许缓冲文件。

#

#CacheNegotiatedDocs

#

# UseCanonicalName:(新为 1.3)与这设置打开了,无论何

时# Apache需要构造一

引用自我 URL(参考回

来的一 URL#到服务器

反应正在来从)它将使

用 ServerName并且#

形成一个“正规”的名字

的端口。与这出发,

Apache愿望#使用顾客

供应了的 hostname:port

,什么时候可能。这#

也在 CGI手迹影响

SERVER_NAME和

SERVER_PORT。

#

UseCanonicalName在上

#

# TypesConfig描述在哪儿 mime.types文件(或相等)是#被

发现。

#

TypesConfig conf/mime.types

#

# DefaultType是服务器将在一个文件使用的缺省 MIME类型#如

果它不能不那样决定一个,例如从文件名扩展。#如果你的服务器主

要包含,文章或 HTML记录,“普通文本”是#好值。如果你的内

容的大多数是二进制的,例如应用程序#或图象,你可以相反想要

使用“申请/octet-stream”到#阻止浏览器试着显示二进制的文

件好像他们是#文章。

#

DefaultType普通文本

#

#模块允许服务器到各种各样的使用的 mod_mime_magic提示从#

决定它的类型的文件自己的内容。 MIMEMagicFile#指令告诉模块

提示定义在哪儿被定位。# mod_mime_magic不是缺省服务器的部分

(你必须增加#它你自己与一 LoadModule [看见 DSO段在"全

球#环境"节 ],或,因此它在一只<IfModule>集装箱被封装。

#如果, MIMEMagicFile指令将仅仅被处理的这个工具#模块是服

务器的部分。

#

<IfModule mod_mime_magic.c>

MIMEMagicFile conf/魔术

</IfModule>

#

# HostnameLookups:记载顾客或只是他们的 IP地址的名字

#例如, www.apache.org(在上)或 204.62.129.132(离开)。

#因为如果,它将为网络是总的来说好一些的,缺省关人#不得不

会意地打开这个特征,自从启用,它意味着那#每个顾客请求将导

致至少一个查找请求到#名字服务器。

#

HostnameLookups离开

#

# ErrorLog:错误记录文件的地点。

#如果你不在一<VirtualHost>以内指定一条 ErrorLog指令#容

器,联系到那台虚拟的主机的错误消息将是#这里记载了。如果你

**为一<VirtualHost>定义一个错误日志文件#容器,那台主机

的错误将这里被记载在那里并且不。

#

ErrorLog logs/error.log

#

# LogLevel:控制被记载了到 error.log的消息的数字。#可能的

值包括:调试,信息,通知,警告,误差, crit,#警戒, emerg。

#

LogLevel警告

#

#下列指令为使用定义一些格式绰号与#一条 CustomLog指令(

看在下面)。

#

LogFormat"%h%l%u%t"%r"%>s%b"%{Referer}i""%{User-Agent}i"" combined

LogFormat“% h% l% u% t”%r"%> s% b"普通

LogFormat"%{ Referer}我->% U" referer

LogFormat"%{用户代理人}我"代理人

#

#存取日志文件的地点和格式(普通的日志文件格式)。#如果你

不在一<VirtualHost>以内定义任何存取日志文件#容器,他们将

这里被记载。相反地,如果你**#定义每--<VirtualHost>存取日

志文件,交易将是#在那里记载了并且*不*在这个文件。

#

普通的 CustomLog logs/access.log

#

#如果你想有代理人和 referer日志文件, uncomment#跟随指令。

#

#CustomLog logs/referer.log referer

#CustomLog logs/agent.log代理人

#

#如果你与存取比较喜欢一个单个的日志文件,代理人,并且

referer信息#(联合的日志文件格式)你能使用下列指令。

#

#CustomLog logs/access.log联合了

#

#选择性地增加包含服务器版本和虚拟的主机的行#到产生服务者

的页的名字(误差记录, FTP目录目录,# mod_status和 mod_info

等等输出,然而并非 CGI产生了文件)。#到“电子邮件”到的

**也包括一 mailto:连接到 ServerAdmin。#设定到之一:在

上|离开|电子邮件

#

ServerSignature在上

#

#别名:与你需要比,这里增加同样多别名(没有限制)。格式是

#别名 fakename realname

#

#如果你包括一走,注意那/在 fakename上那么服务器愿望#要

求它在 URL在场。因此“/icons”不是在这的 aliased#例子,

仅仅“/icons/”……

#

Alias/icons/"c:/website/apache/icons/"

#

# ScriptAlias:哪个目录包含服务器手迹的这控制。#

ScriptAliases是实质上与别名一样,除了那#在 realname目录

的文件被当作应用程序并且#当请求时而非当文件送了到顾客,由

服务器运行。#关于走的"/"的一样的规则适用于 ScriptAlias指

令至于#别名。

#

ScriptAlias/cgi-bin/"c:/website/apache/cgi-bin/"

#

#“ c:/网点/apache/cgi-bin”应该被改变到无论什么你的

ScriptAliased# CGI目录存在,如果你把那设置。

#

<Directory"c:/网点/apache/cgi-bin"> AllowOverride没有

选择没有

</Directory>

#

#重定向允许你把过去常存在在的文件告诉顾客#你的服务器的

namespace,但是不再做。这允许你告诉#顾客在哪儿寻找重定位

的文件。

#格式化:重定向 old-URI new-URL

#

四、apache配置文件详解(apache设置的基本配置)

Apahce配置指令可以分为两块,核心指令和第三方提供的指令。在apache中,每条指令对应一个模块,而在所有模块中,最重要的是core _ module、so_moudle、http _ module和mpm模块。除了so _ mold,其他模块都不能关闭或禁止。一:httpd.conf

主服务器部分

1.ServerName:定义apache的默认主机名,可以是域名或IP地址。

2.ServerRoot:用于定义服务器所在的目录。在配置过程中,该路径通常由-前缀指定。

3.DocumentRoot:用于指定apache提供页面服务的根目录。该路径必须是绝对路径,而不是相对路径。如果有空格,需要用引号括起来。

4.ServerAdmin:发生错误后服务器向管理员发送电子邮件的地址。

5.ServerAlias和Alias:两者都用于映射目录,只是ServerAlias将映射的目录识别为CGI脚本目录,并将该目录中的所有文件视为CGI脚本。但是Alias只映射到一个普通的目录。

6.用户和组:用于定义用于运行apache子流程的用户和用户组。

7.Listen:用于定义监听apache的端口号。

8.LoadModule指令:用于加载模块或目标文件load module CGI _ module modules/mod _ CGI. so _ module。

9.错误文档:错误文档500 quot未知错误 quot错误文档404 quot自我意义的错误页面信息

/var/server/www/CGI-bin/missing _ 404. pl错误文档402

10.选项:决定在哪些目录中使用这些功能。这些特征如下:

无:选项命令不起作用。

Exec:允许CGI脚本在当前目录中执行。

包括:允许SSI函数。

允许使用IncludesNOEXEC: SSI函数,但禁用exec cgi和exec cmd函数。

索引:打开索引功能。例如,如果在请求目录的URLz中没有由DirectoryIndex指令指定的索引文件,服务器将自动返回请求目录的内容列表。

在当前环境中允许符号连接,但是在位置容器中将被忽略。

All:使用除多视图之外的所有功能,这也是选项的默认参数。

MultiViews:用于启动mod_negotiations模块提供的多视图功能。

1.ServerTokens: OS/Major/Full会影响页脚信息的细节,所以一般不建议使用。

集装箱部分

1.IfModule容器:容器作用于模块,会先判断模块是否加载,再决定是否处理,即只有判断结果为真,才会执行容器中的指令;否则,如果为false,所有指令都将被忽略。可以使用IfModule模块名或IfModule!模块名来确定模块是否已加载。

如果模块mpm_netware_module

index.html目录索引

/IfModule

加载后执行。

IfModule!mpm _ netware _模块

index.html目录索引

/IfModule

如果未加载,则执行。

2 IfDefine容器:它封装了一组只在条件为真时才生效的指令,作用于serverconfig、虚拟主机、目录、htaccess和IfModule。不同的是它判断模块是否加载,而IfDefine判断的是条件。

根据

if定义代理

load module proxy _ module modules/lib proxy. so

/IfDefine

3目录目录匹配容器:

目录:让它封装的指令在它指定的目录或者子目录下工作。该目录必须是完整的路径。当然,也可以使用通配符*?匹配目录,也考虑用来确定字符范围,但是无论哪一个都可以匹配/

目录/var/apache/html

订单拒绝,允许

全部否认

/目录

上面的示例禁止访问/var/apache/html目录。对/var/apache/html的任何请求都将被拒绝。

如果想让目录使用正则表达式,需要加一个~

目录~《^/var/apache{2}/html》

订单拒绝,允许

允许所有人

/目录

DirectoryMatch:类似于directory,只是它可以直接接受常规匹配,不需要添加~符号。

导演匹配《^/var/apache{2}/html》

订单拒绝,允许

允许所有人

/目录匹配

4文件和文件匹配

文件:仅适用于文件。也可以在正则表达式前使用通配符和和~来使用正则表达式。

文件“^.css

订单拒绝,允许

允许所有人

/文件

匹配:没有添加~符号的文件。

文件匹配”。,然后是文件和文件匹配容器,然后是位置和位置匹配容器。

位置/var/apache/html

订单拒绝,允许

允许所有人

/位置

Direcotry/var/apache/html

订单允许、拒绝

允许所有人

否认来自www.jons.com

/Direcotry

在上面的例子中,Apache将首先处理目录容器,最后处理的位置容器将覆盖以前的目录配置,因此www.json.com将被允许用户访问。如果容器相同,将根据字典顺序从短到长进行处理。

王者之心2点击试玩

文章到此结束,希望我们对于Apache的配置与运用_apache配置的问题能够给您带来一些启发和解决方案。如果您需要更多信息或者有其他问题,请随时联系我们。