httpd.conf详细设置
Linux 主配置文件httpd.conf
Linux 主配置文件httpd.confhttpd.conf是最核心的配置文件,位于/etc/httpd/目录下。
像大多数的服务一样,几乎绝大部分的设置都需要通过修改该配置文件来完成。
Apache的主配置文件的内容有900多行,不过不用担心,因为绝大部分的内容是注释信息,而且注释内容相当丰富,用户完全可以通过注释来了解Apache的功能、语法以及使用。
对Apache服务器的配置,主要方式就是对httpd.conf配置文件的修改。
该文件是Apache服务器主要配置文件,包含各种影响服务器运行的配置选项,只有对这些配置信息进行理解,才能真正的掌握Apache服务器的配置。
用户可以在终端中,输入vi /etc/httpd/conf/httpd.conf命令,并按,打开该配置文件,如图38所示。
图38 主配置文件注释内容该主配置文件的注释内容,告诉用户一些基本信息,用户可以通过/docs/2.2/网站来查看该配置文件的更多细节。
该配置文件主要有3个基本的配置项:第一个是Global Environment(全局环境配置),第二个是Main server configuration(主服务配置),第三个是Virtual Hosts(虚拟主机配置)。
每部分都有相应的配置选项,该文件所有配置选项的语法为“配置选项名称参数值”的形式,配置选项可以放在文件中的任何地方,但为了增强文件的可读性,最好将配置语句放在相应的部分。
httpd.conf中每行包含一条语句,行末使用反斜杠“\”可以换行,但是反斜杠与下一行中间不能有任何其他字符(包括空白)。
httpd.conf的配置语句除了选项的参数值以外,所有选项指令均不区分大小写,可以在每一行前用“#”号,表示注释。
Global Environment(全局环境配置)该配置段中的各配置选项用于控制Apache服务器作为一个服务器作为一个整体来运行。
●Main server configuration(主服务配置)该配置段中的各配置选项用于定义主要或者默认服务参数的,也为所有虚拟主机提供默认的设置参数。
如何在Linux上安装和配置Apache服务器
如何在Linux上安装和配置Apache服务器Apache是一个流行的开源Web服务器软件,被广泛用于搭建和管理网站。
在Linux系统上安装和配置Apache服务器是一项基本的技能。
本文将介绍如何在Linux操作系统下安装和配置Apache服务器。
一、安装Apache服务器首先,打开终端窗口,并使用以下命令来更新软件包列表:sudo apt update接下来,使用以下命令来安装Apache服务器:sudo apt install apache2安装过程中,您需要输入管理员密码进行确认。
安装完成后,Apache服务器将自动启动。
二、配置Apache服务器1. 配置文件路径Apache的配置文件位于/etc/apache2目录下。
在终端中使用cd命令进入该目录:cd /etc/apache22. 主配置文件编辑主配置文件apache2.conf,使用以下命令打开该文件:sudo nano apache2.conf在打开的文件中,可以找到一些常用的配置选项,您可以根据需要进行修改。
例如,您可以更改服务器名称、监听端口等。
3. 虚拟主机配置虚拟主机配置允许您在同一台服务器上运行多个网站。
默认情况下,Apache服务器已经为您配置了一个默认的虚拟主机。
如果您想添加更多的虚拟主机,您可以在/etc/apache2/sites-available目录下创建配置文件。
使用以下命令进入该目录:cd /etc/apache2/sites-available使用以下命令创建一个新的虚拟主机配置文件,例如mywebsite.conf:sudo nano mywebsite.conf在此配置文件中,您可以设置您的网站的域名、目录路径和其他相关设置。
保存并关闭文件。
接下来,使用以下命令启用新的虚拟主机配置文件:sudo a2ensite mywebsite.conf最后,重新加载Apache服务器以应用配置更改:sudo service apache2 reload您的新虚拟主机现在应该已经生效了。
apache下配置详解
Apache下关于虚拟主机的配置关于虚拟主机的概述:配置虚拟主机主要应用场景:多站点访问,一个服务器放置了多个站点服务。
主要的三种配置方法:1、基于IP 2、基于端口3、基于主机名步骤详解:1.虚拟主机使用的话,必须将中心服务关闭,在/etc/httpd/conf/httpd.conf文件里,将DocumentRoot一行注释掉来关闭中心服务。
2.可以在httpd.conf文件最后面直接添加虚拟主机的配置内容,也可以在/etc/httpd/conf.d/下面创建一个自己的配置文件,如:my.conf文件。
3.my.conf文件配置详解1)基于IP配置<VirtualHost 192.168.0.112:80>ServerName DocumentRoot "/www/"</VirtualHost><VirtualHost 192.168.0.113:80>ServerName DocumentRoot "/www/"</VirtualHost>以上2个虚拟主机配置的IP分别为192.168.0.113和192.168.0.112,端口同为80端口。
这样在浏览器分别输入不同的ip或域名时就会访问到不同的站点。
Tips:如果只有一块网卡可以同过ipaddr add 192.168.0.112 dev eth0来添加辅助ip。
如果是域名方式访问,还需要在windows和linux下的hosts文件里面自行添加域名解析。
关于辅助ip的设置:ipaddr add 192.168.0.112/24 dev eth0这是为网卡设置一个辅助ip。
假如一个网卡的ip地址为192.168.0.22,执行上面的命令,在用ifconfig 查看,会发现有两个ip地址,而192.168.0.22称为主地址(Primary IP address),而192.168.0.112称为辅助地址(secondary IP address),一块网卡是允许有多个IP地址的,所以就算再多添加几个secondary IP 也是合法行的。
httpd 配置
allow 可以取得控制;
deny 禁止取得控制。
现在我们一起来看看关于目录"/home/httpd/html"的设置的含义:它使得这个
目录,如果不存在index.htm文件时,列出目录信息以供选择,准许SSI,允许
执行CGI程序,开启了动态连接。它不允许再使用在文件".htaccess"中设定来
及在哪里和如何提供们。
DocumentRoot命令,用来指定主文档的地址。
命令格式: DocumentRoot [Path]
例:DocumentRoot /home/httpd/html
UserDir 命令,用来指定个人主页的位置。如果你有一个用户test,那么它主
例:Server Admin [email]admin@[/email]
ErrorLog命令,用来指定错误记录文件名称和路径。
命令格式: ErrorLog [log filename]
例:ErrorLog /var/httpd/error.log
Timeout命令,只要客户端超过这里设定的秒数还没有完成一个请求的话,服务
覆盖这里所设置的权限。使所有的人都可以取得控制。
该文件的第二段非注释部分如下:
<Directory /home/httpd/cgi-bin>
Option ExecCGI
AllowOverride None
</Directory>
这个表示目录"/home/httpd/cgi"的设置为,当前目录下可以执行CGI程序。不
如果我们利用了LINUX系统架设了一台WEB服务器,我们不仅可以存放公司的主
apache多域名配置
Ubuntu下apache配置时间:2010.11.12 15:00-16:00地点:大会议室主讲:李建波1.配置文件介绍apache2.conf:apache的主配置文件,apache启动时会加载其他文件。
httpd.conf:用户配置文件。
Ports.conf:端口配置文件sites-enabled:存放虚拟主机配置文件的软连接sites-available:存放虚拟主机配置文件mods-enabled:存放模块软连接mods-available :模块存放处2.添加文件支持类型和添加首页文件文件:apache2.conf添加文件支持:AddType application/x-httpd-php .php .htm .html 添加首页文件:<IfModule dir_module>DirectoryIndex index.htm index.html index.php</IfModule>3.添加多域名支持单台机器上设置多个域名或主机名时,我们就要用到基于名称的虚拟主机。
主配置文件apache2.conf,在该文件中我们可以看到下列字段:3.1设置步骤修改文件:/etc/apache2/sites-available/default修改内容:分析设置语句:●NameVirtualHost 10.39.6.59:80:表示我们要做的是一个基于名称的虚拟主机,其IP为:192.168.0.173●<VirtualHost 10.39.6.59> 和 </VirtualHost>:表示在其中的是一个虚拟主机的配置●ServerName :设置虚拟主机的域名●DocumentRoot /var/www/han:设置该虚拟主机的主目录路径●ErrorLog /var/log/apache2/error.log:设置该虚拟主机的出错信息3.2进一步说明我们再添加一个虚拟主机站点 ,首先到/etc/apache2/sites-available/ 目录中建立一个文件 li,编辑该文件:<VirtualHost 192.168.0.173:80>ServerName ServerAdmin ubuntu.firehare@DocumentRoot "/var/www/li/"ErrorLog "/var/log/apache2/edunuke_errors.log"CustomLog "/var/log/apache2/edunuke_accesses.log" common </VirtualHost>设置的具体含义同上面的相似,然后再运行命令:sudo a2ensite li这样,虚拟主机站点 就已经安装好了。
Apache 日志配置及查看方法
Apache 日志配置及查看方法有时候我们需要定制Apache默认日志的格式和内容,比如增加或减少日志所记录的信息、改变默认日志文件的格式等。
本文介绍可以用日志记录的所有信息,以及如何设置Apache 使其记录这些信息。
一、定义日志格式很久以前,日志文件只有一种格式,这就是“公共格式”,许多人已经习惯于使用这种格式。
随后出现了定制日志格式,而且看起来定制日志格式更很受欢迎,即使公共日志格式本身也重新用定制日志格式定义。
本文介绍的就是如何随心所欲地定制日志文件的格式、如何让日志文件记录自己想要的信息。
定制日志文件的格式涉及到两个指令,即LogFormat指令和CustomLog指令,默认httpd.conf文件提供了关于这两个指令的几个示例。
LogFormat指令定义格式并为格式指定一个名字,以后我们就可以直接引用这个名字。
CustomLog指令设置日志文件,并指明日志文件所用的格式(通常通过格式的名字)。
LogFormat指令的功能是定义日志格式并为它指定一个名字。
例如,在默认的httpd.conf文件中,我们可以找到下面这行代码:LogFormat "%h %l %u %t \"%r\" %>s %b" common该指令创建了一种名为“common”的日志格式,日志的格式在双引号包围的内容中指定。
格式字符串中的每一个变量代表着一项特定的信息,这些信息按照格式串规定的次序写入到日志文件。
Apache文档已经给出了所有可用于格式串的变量及其含义,下面是其译文:%...a: 远程IP地址%...A: 本地IP地址%...B: 已发送的字节数,不包含HTTP头%...b: CLF格式的已发送字节数量,不包含HTTP头。
例如当没有发送数据时,写入‘-’而不是0。
%...{FOOBAR}e: 环境变量FOOBAR的内容%...f: 文件名字%...h: 远程主机%...H 请求的协议%...{Foobar}i: Foobar的内容,发送给服务器的请求的标头行。
conf命令参数
conf命令参数摘要:1.引言2.conf命令简介3.常用conf命令参数a.-configb.-printc.-setd.-show4.参数详解a.-configi.作用ii.使用方法b.-printi.作用ii.使用方法c.-seti.作用ii.使用方法d.-showi.作用ii.使用方法5.结论正文:Conf命令是Linux系统中一个非常重要的命令,用于配置系统参数和设置环境变量。
通过conf命令,用户可以修改系统配置文件,从而实现对系统参数的调整。
conf命令支持多种参数,用户可以根据实际需求选择合适的参数进行操作。
以下为conf命令的四个常用参数:1.-config该参数用于显示配置文件的内容。
使用方法为:`conf -config`。
当用户需要查看某个配置文件的内容时,可以使用此参数。
例如,查看`/etc/hosts`文件的内容,可以使用`conf -config /etc/hosts`命令。
2.-print该参数用于打印配置文件中的某一行。
使用方法为:`conf -print`。
当用户需要查看配置文件中的特定行时,可以使用此参数。
例如,查看`/etc/hosts`文件中的第一行,可以使用`conf -print /etc/hosts`命令。
3.-set该参数用于设置配置文件中的某个参数。
使用方法为:`conf -set`。
当用户需要修改配置文件中的某个参数时,可以使用此参数。
例如,将`/etc/hosts`文件中的某个IP地址修改为新的地址,可以使用`conf -set /etc/hosts<old_ip> <new_ip>`命令。
4.-show该参数用于显示配置文件中某个参数的值。
使用方法为:`conf -show`。
当用户需要查看配置文件中某个参数的值时,可以使用此参数。
例如,查看`/etc/hosts`文件中某个主机的IP地址,可以使用`conf -show /etc/hosts <hostname>`命令。
Apache服务器配置
IN CNAME
IN CNAME
在上面的配置中,在提交的DNS正向配置文件以及反向配置文件中, 已经具有如下的A记录和PTR记录,分别为
www
利用httpd.conf我们可以对Apache服务器进行全局 配置、管理或预设服务器的参数定义、虚拟主机的设 置等。httpd.conf是一个文本文件,我们可以用vi编辑 工具进行修改。 httpd.conf文件主要分为三个部分: Section 1: Global Environment (全局变量) Section 2: 'Main' server configuration(主服务器配置) Section 3: Virtual Hosts(虚拟主机配置)
2.配置基于IP的虚拟主机 (1)基于IP虚拟主机的DNS配置 如果用户想要创建两个基于IP的虚拟主机和
这两个虚拟主机站点的共同域名是 。用户可以按照如下所示在DNS正向配置文 件中进行配置:
lth IN
A 192.168.15.212
3.Port 该参数用来指定Apache服务器的监听端口。一般来说,标准的HTTP
服务默认端口号是80,一ቤተ መጻሕፍቲ ባይዱ不要更改这个数值。本例为80端口:
Port 80 4.ServerAdmin
设置Apache服务器管理员的邮件地址。
5.ServerName 该参数使得用户可以自行设置主机名,以取代安装Apache服务器主机
7.MaxKeepAliveRequests 当使用保持连接(persistent connection)功能时,可以使用本参数决定
每次连接所能发出的要求数目的上限。如果此数值为0,则表示没有限制。 建议尽可能使用较高的数值,以充分发挥Apache的高性能,本例设置每次 连接所能发出的要求数目上限为100:
linux-Apache 配置
Apache 配置一、安装Apache下载地址:/1. 安装Apache# tar zxvf httpd-2.2.11.tar.gz# cd httpd-2.2.11# ./configure --prefix=/usr/local/apache --enable-so//编译时加上加载模块参数--enable-so# make# make install2. 配置系统启动时自动启动Apache服务。
# vi /etc/rc.d/rc.local//在rc.local上加入一行/usr/local/apache/bin/apachectl –k start。
二、配置Apache1. 修改httpd.conf文件# vi /usr/local/apache/conf/httpd.conf1)设置根目录的路径根目录是指Apache存放配置文件和日志文件的目录,配置参数为ServerRoot,默认位于“/u sr/local/apache”。
命令如下:2)设置监听IP地址及端口号默认侦听本机所有IP地址的TCP80端口,命令如下:Listen 80用户也可以按自己的需求,使用多个Listen语句在多个地址和端口上侦听客户端请求。
比如:Listen 192.168.99.9:80Linsten 172.16.0.20:80803)设置系统管理员E-m ail使用ServerAdmin参数设置管理员E-m ail,比如管理员的Email地址为root@guoxuemin. cn:4)设置服务器主机的名称参数ServerName用来设置服务器的主机名称,如果没有域名则填入服务器的IP地址,比如服务器的IP地址为192.168.99.9:5)设置主目录的路径用户可以使用参数Document Root配置服务器主目录默认路径,比如,主目录路径为:6)设置默认文件Apache的默认文件名为index.ht ml,可以使用Directory Index参数来配置,比如,将ind ex.php设置为默认文件名:7)测试:打开浏览器,输入地址:http://192.168.99.9,可以打开站点了:2. 配置目录权限使用<Directory 目录路径>和</Directory>设置目录的权限。
Apache2配置参数详细说明
StartThreads 250
MinSpareThreads 25
MaxSpareThreads 250
MaxThreads 1000
MaxRequestPerChild 0
</IfModule>
# OS/2 MPM
# StartServers:启动的服务进程数量
# ThreadsPerChild:每个服务进程中的工作线程常数
# MaxRequestsPerChild:服务进程中允许的最大请求数目
<IfModule worker.c>
StartServers 2
MaxClients 150
MinSpareThreads 25
MaxSpareThreads 75
<IfModule>
<IfModule>
#
#PidFile:记录服务器启动进程号的文件。
#
<IfModule !mpm_neware.c>
PidFile logs/httpd.pid
</IfModule>
#
#Timeout:接收和发送前超时秒数
#
Timeout 300
#
#KeepAlive:是否允许稳固的连接(每个连接有多个请求),
#
KeepAliveTimeout 15
##
##Server-Pool大小设定(针对MPM的)
##
# prefork MPM
# StartServers:启动时服务器启动的进程数
# MinSpareServers:保有的备用进程的最小数目
Apache配置详解
Apache配置详解Apache的配置由httpd.conf文件配置,因此下面的配置指令都是在httpd.conf文件中修改。
主站点的配置(基本配置)(1) 基本配置:ServerRoot "/mnt/software/apache2" #你的apache软件安装的位置。
其它指定的目录如果没有指定绝对路径,则目录是相对于该目录。
PidFile logs/httpd.pid #第一个httpd进程(所有其他进程的父进程)的进程号文件位置。
Listen 80 #服务器监听的端口号。
ServerName :80 #主站点名称(网站的主机名)。
ServerAdmin admin@ #管理员的邮件地址。
DocumentRoot "/mnt/web/clusting" #主站点的网页存储位置。
以下是对主站点的目录进行访问控制:<Directory "/mnt/web/clusting">Options FollowSymLinksAllowOverride NoneOrder allow,denyAllow from all</Directory>在上面这段目录属性配置中,主要有下面的选项:Options:配置在特定目录使用哪些特性,常用的值和基本含义如下:ExecCGI: 在该目录下允许执行CGI脚本。
FollowSymLinks: 在该目录下允许文件系统使用符号连接。
Indexes: 当用户访问该目录时,如果用户找不到DirectoryIndex指定的主页文件(例如index.html),则返回该目录下的文件列表给用户。
SymLinksIfOwnerMatch: 当使用符号连接时,只有当符号连接的文件拥有者与实际文件的拥有者相同时才可以访问。
其它可用值和含义请参阅:/Apache/ApacheManual/mod/core.html#options AllowOverride:允许存在于.htaccess文件中的指令类型(.htaccess文件名是可以改变的,其文件名由AccessFileName指令决定):None: 当AllowOverride被设置为None时。
httpd配置文件httpd.conf规则说明和一些基本指令
httpd配置⽂件httpd.conf规则说明和⼀些基本指令本⽂主要介绍的是httpd的配置⽂件,包括⼀些最基本的指令、配置规则、配置合并规则。
以下指令完全来⾃官⽅⼿册以及我⾃⼰的总结和整理。
1.1 httpd命令和apachectl命令[root@xuexi ~]# httpd -hUsage: httpd [-D name] [-d directory] [-f file][-C "directive"] [-c "directive"][-k start|restart|graceful|graceful-stop|stop][-v] [-V] [-h] [-l] [-L] [-t] [-T] [-S] [-X]Options:-D name : 定义⼀个在< IfDefine name >中使⽤的name,以此容器中的指令-d directory : 指定ServerRoot-f file : 指定配置⽂件-C "directive" : 指定在加载配置⽂件前要处理的指令(directive)-c "directive" : 指定在加载配置⽂件后要处理的指令-e level : 显⽰httpd启动时的⽇志调试级别-E file : 将启动信息记录到指定⽂件中-v : 显⽰版本号-V : 显⽰编译配置选项-h : 显⽰帮助信息-l : 显⽰已编译但⾮动态编译的模块,即静态编译的模块-L : 显⽰静态模块可⽤的指令列表-t -D DUMP_VHOSTS : 显⽰虚拟主机的设置信息-t -D DUMP_RUN_CFG : 显⽰运⾏参数-S : 等价于-t -D DUMP_VHOSTS -D DUMP_RUN_CFG。
在调试如何解析配置⽂件时⾮常⾮常有⽤-t -D DUMP_MODULES : 显⽰所有已被加载的模块,包括静态和动态编译的模块-M : 等价于-t -D DUMP_MODULES-t : 检查配置⽂件语法-T : 不检查DocumentRoot,直接启动-X : 调试模式,此模式下httpd进程依赖于终端-k : 管理httpd进程,接受start|restart|graceful|graceful-stop|stopapachectl命令和httpd命令基本相同。
Apache主配置文件httpd.conf详解
Apache主配置⽂件httpd.conf详解Apache的主配置⽂件:/etc/httpd/conf/httpd.conf默认站点主⽬录:/var/www/html/Apache服务器的配置信息全部存储在主配置⽂件/etc/httpd/conf/httpd.conf中,这个⽂件中的内容⾮常多,⽤wc命令统计⼀共有1009⾏,其中⼤部分是以#开头的注释⾏。
[root@justin ~]# wc -l /etc/httpd/conf/httpd.conf1009 /etc/httpd/conf/httpd.conf[root@justin ~]#配置⽂件包括三部分:[root@justin ~]# grep '\<Section\>' /etc/httpd/conf/httpd.conf -n33:### Section 1: Global Environment245:### Section 2: 'Main' server configuration973:### Section 3: Virtual Hosts[root@justin ~]#1)Global Environment---全局环境配置,决定Apache服务器的全局参数2)Main server configuration---主服务配置,相当于是Apache中的默认Web站点,如果我们的服务器中只有⼀个站点,那么就只需在这⾥配置就可以了。
3)Virtual Hosts---虚拟主机,虚拟主机不能与Main Server主服务器共存,当启⽤了虚拟主机之后,Main Server就不能使⽤了--------------------------------------------------------------------------------1)Global Environment44 ServerTokens OS在出现错误页的时候是否显⽰服务器操作系统的名称,ServerTokens Prod为不显⽰57 ServerRoot "/etc/httpd"⽤于指定Apache的运⾏⽬录,服务启动之后⾃动将⽬录改变为当前⽬录,在后⾯使⽤到的所有相对路径都是想对这个⽬录下65 PidFile run/httpd.pid记录httpd守护进程的pid号码,这是系统识别⼀个进程的⽅法,系统中httpd进程可以有多个,但这个PID对应的进程是其他的⽗进程70 Timeout 60服务器与客户端断开的时间76 KeepAlive Off是否持续连接(因为每次连接都得三次握⼿,如果是访问量不⼤,建议打开此项,如果⽹站访问量⽐较⼤关闭此项⽐较好),修改为:KeepAlive On 表⽰允许程序性联机83 MaxKeepAliveRequests 100表⽰⼀个连接的最⼤请求数89 KeepAliveTimeout 15断开连接前的时间102 <IfModule prefork.c>103 StartServers 8104 MinSpareServers 5105 MaxSpareServers 20106 ServerLimit 256107 MaxClients 256108 MaxRequestsPerChild 4000109 </IfModule>系统默认的模块,表⽰为每个访问启动⼀个进程(即当有多个连接公⽤⼀个进程的时候,在同⼀时刻只能有⼀个获得服务)。
apache的配置及小经验总结
///insert into table values(1)
if($i=0;$i<$nums;$i++){
也可以通过ini_set()函数去设置配置文件的值:@ini_set('display_errors',1);
E:extension=php_zip.dll 调用压缩包
F:查找error_reporting = E_ALL & ~E_NOTICE,将其前边的分号去掉(显示所用的错误和警告,除了notice)
$sql="insert into table values('$array[$i]')";
$rec=mysql_query($sql);
}
///批量插入第二种方法
$array=$_POST['checkbox'];
$nums=count($_POST['checkbox']);
21.javascript中在处理<select multiple="multiple">标签时,join()函数和implode()函数是一样的, arr.join(",") 将数组元素以逗号连接在一起
22.1.alert(document.form1.elements.length);
D:查找DirectoryIndex 看到后面只有index.html 在它后面加上index.php (index.sht,大概在241行ml)。
F:查找 Include conf/extra/http-mpm.conf ,将此行前边的#去掉。
Apache服务器配置
载入模块指令
Apache服务器采用动态共享对象(DSO,Dynamic Shared Object)的机制,在启动Apache服务器时可根据实际需要载 入适当的模块,使其具有相应的功能。 载入模块的相关指令有: LoadModule ClearModuleList AddModule
LoadModule
建立系统用户的个人主页
1. 修改httpd.conf,启用个人主页功能 UserDir public_html [root@www ~]# vi /usr/local/apache2/conf/httpd.conf …… 确认目录区域设置 #UserDir disable 2. 建立个人主页测试网页 …… ~/public_html/index.html UserDir public_html <Directory "/home/*/public_html"> /home/jerry/ 添加权限:chmod o+x AllowOverride none 3. 重新启动httpd服务 Options none /usr/local/apache2/bin/apachectl restart Order allow,deny Allow from 4. 访问测试 all </Directory> /~user
httpd服务的日志
两类日志文件 访问日志:/usr/local/apache2/logs/access_log 错误日志:/usr/local/apache2/logs/error_log httpd.conf中对日志的设置
[root@localhost ~]# vi /usr/local/apache2/conf/httpd.conf …… ErrorLog logs/error_log CustomLog logs/access_log common ……
httpd.conf配置完美详解
httpd.conf配置完美详解Linux下httpd.conf 配置详解1. 关于本文本文将以Apache 2.2为例,以rhel5为平台,讲述Apache服务器的安装和设置。
2. 关于ApacheApache 是一款功能强大、稳定、可支撑关键任务的Web服务器Apache具有如下特性:1) 几乎可以运行在所有的计算机平台上.2) 支持最新的HTTP/1.1协议3) 简单而且强有力的基于文件的配置(HTTPD.CONF).4) 支持通用网关接口(CGI)5) 支持虚拟主机.6) 支持HTTP认证.7) 集成PERL.8) 集成的代理服务器9) 可以通过WEB浏览器监视服务器的状态, 可以自定义日志.10) 支持服务器端包含命令(SSI).11) 支持安全SOCKET层(SSL).12) 具有用户会话过程的跟踪能力.13) 支持FASTCGI14) 支持JAVA SERVLETS.……更多信息请参阅Apache网站:/doc/327020310.html,3. Apache的安装Apache的安装无外两种方式:源码包安装和二进制包安装。
这两种方式各有特色,二位制包安装不需编译,针对不同的平台有经过优化编译的不同的二进制文件以及包格式,安装简单方便,源码包则必须先配置编译再安装,可以根据你所用的主机环境进行优化、选择你所用的模块,安装定制更灵活。
下面分别介绍这两种安装方式。
3.1 以源码包方式安装3.1.1 下载最新版本的apache软件访问apahce网站/doc/327020310.html,/download.cgi下载最新版本的Apache源码包。
本文使用的是2.2.6版本,在linux系统下用下面的命令下载:wget /doc/327020310.html,/httpd/httpd-2.2.6.tar.gz3.1.2 解压缩下载的源码包首先建立一个工作目录( 笔者建议的目录为/usr/local/src/apache ) :mkdir -p /usr/local/src/apache 将下载的源码包移至工作目录:mv httpd-2.2.6.tar.gz /usr/local/src/apache进入工作目录并用tar命令解压源码包:cd /usr/local/src/apachetar zxvf httpd-2.2.6.tar.gz命令执行结束后,当前工作目录下将生成一个新的子目录httpd-2.2.6,此目录下即为Apache的源码文件。
linux下安装apache的及反向代理配置完整过程
下面是linux下安装apache的完整代码,系统是redhat5.51、检查系统防火墙有没开,需要把防火墙关掉,可以执行SETUP查看,关闭。
在开启了防火墙时,做如下设置,开启相关端口,修改/etc/sysconfig/iptables 文件,添加以下内容:-A RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp --dport 80 -j ACCEPT -A RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp --dport 8088 -j ACCEPT 2、安装Apache下载地址:</>1. 安装Apache# tar zxvf httpd-2.2.22.tar.gz //解压文件# cd httpd-2.2.22//进入安装文件夹#./configure --prefix=/usr/local/apache --enable-so--enable-mods-shared=most --enable-proxy --enable-proxy-connect--enable-proxy-ftp --enable-proxy-http --enable-proxy-scgi--enable-proxy-ajp --enable-proxy-balancer // 配置apache路径加载动态模块# make //编译apache# make install//安装apache其它相关命令:下载httpd-2.2.22.tar.bz2 把httpd-2.2.22.tar.bz2放到/soft 下[root@localhost ~]#cd /soft[root@localhost soft]#tar jxvf httpd-2.2.6.tar.bz2 //解压apache的压缩包[root@localhost soft]#cd httpd-2.2.6 //定位到httpd-2.2.6 文件夹下[root@localhost httpd-2.2.6]#ls //查看显示httpd-2.2.6 文件夹下内容 [root@localhost httpd-2.2.6]# ./configure --help | more //查看安装apache配置参数[root@localhost httpd-2.2.6]#./configure --prefix=/usr/local/apache --enable-so // 配置apache路径[root@localhost httpd-2.2.6]#./configure --prefix=/usr/local/apache--enable-so --enable-mods-shared=most --enable-proxy--enable-proxy-connect --enable-proxy-ftp --enable-proxy-http--enable-proxy-scgi --enable-proxy-ajp --enable-proxy-balancer// 配置apache路径加载动态模块[root@localhost httpd-2.2.6]#make //编译apache[root@localhost httpd-2.2.6]#make install //安装apache[root@localhost httpd-2.2.6]#cd /usr/local/apache //进入apache的目录[root@localhost apache]# cd conf/[root@localhost conf]#cp httpd.conf httpd.conf_bak //备份apache配置文件[root@localhost conf]#chkconfig --list httpd //查看httpd服务是否已存在[root@localhost conf]#chkconfig httpd off //关闭系统自带了httpd的服务,如果存在httpd服务[root@localhost conf]#service httpd status //查看自带httpd服务状态[root@localhost conf]# /usr/local/apache/bin/apachectl -k start//linux启动apache命令[root@localhost conf]# /usr/local/apache/bin/apachectl -k stop //linux 停止apache命令[root@localhost conf]#netstat -an | grep :80 //查看linux80端口是否开启[root@localhost conf]#ps -aux | grep httpd //linux下查看apache进程[root@localhost conf]#cd ../..[root@localhost local]#cp /usr/local/apache/bin/apachectl/etc/rc.d/init.d/apache //拷贝apache启动脚本[root@localhost local]#vi /etc/rc.d/init.d/apache // 这里是编辑apache 启动脚本在开头的#!/bin/sh 下面加上#chkconfig: 2345 85 15[root@localhost local]#chkconfig --add apache //添加apache服务[root@localhost local]#chkconfig --list apache //列出apache服务[root@localhost local]#service apache stop //停止apache服务[root@localhost local]#netstat -an | grep :80 //查看linux的80端口是否开启[root@localhost local]#ps -aux | grep httpd //查看是否存在httpd服务,若果之前自带httpd服务启动的话会导致新添加的apache服务启动失败[root@localhost local]#service apache start //启动apache服务打开你的服务器ip地址,看看是否出现了tomcat的默认首页,如果出现的话,那么恭喜你linux下安装apache已经成功了3、修改httpd.conf文件vi /usr/local/apache/conf/httpd.conf以下为httpd.conf内容:# This is the main Apache HTTP server configuration file. It contains the # configuration directives that give the server its instructions.# See <URL:/docs/2.2> for detailed information.# In particular, see# <URL:/docs/2.2/mod/directives.html># for a discussion of each configuration directive.## Do NOT simply read the instructions in here without understanding# what they do. They're here only as hints or reminders. If you are unsure # consult the online docs. You have been warned.## Configuration and logfile names: If the filenames you specify for many # of the server's control files begin with "/" (or "drive:/" for Win32), the # server will use that explicit path. If the filenames do *not* begin # with "/", the value of ServerRoot is prepended -- so "logs/foo_log"# with ServerRoot set to "/usr/local/apache" will be interpreted by the # server as "/usr/local/apache/logs/foo_log".## ServerRoot: The top of the directory tree under which the server's# configuration, error, and log files are kept.## Do not add a slash at the end of the directory path. If you point# ServerRoot at a non-local disk, be sure to point the LockFile directive # at a local disk. If you wish to share the same ServerRoot for multiple # httpd daemons, you will need to change at least LockFile and PidFile. #ServerRoot "/usr/local/apache"## Listen: Allows you to bind Apache to specific IP addresses and/or# ports, instead of the default. See also the <VirtualHost># directive.## Change this to Listen on specific IP addresses as shown below to# prevent Apache from glomming onto all bound IP addresses.##Listen 12.34.56.78:80Listen 80Listen 8088 --增加监听端口## Dynamic Shared Object (DSO) Support## To be able to use the functionality of a module which was built as a DSO you# have to place corresponding `LoadModule' lines at this location so the # directives contained in it are actually available _before_ they are used.# Statically compiled modules (those listed by `httpd -l') do not need# to be loaded here.## Example:# LoadModule foo_module modules/mod_foo.so#LoadModule authn_file_module modules/mod_authn_file.so --加载的模块,正确安装完会自动加载以下模块LoadModule authn_dbm_module modules/mod_authn_dbm.soLoadModule authn_anon_module modules/mod_authn_anon.soLoadModule authn_dbd_module modules/mod_authn_dbd.soLoadModule authn_default_module modules/mod_authn_default.soLoadModule authz_host_module modules/mod_authz_host.soLoadModule authz_groupfile_module modules/mod_authz_groupfile.so LoadModule authz_user_module modules/mod_authz_user.soLoadModule authz_dbm_module modules/mod_authz_dbm.soLoadModule authz_owner_module modules/mod_authz_owner.soLoadModule authz_default_module modules/mod_authz_default.soLoadModule auth_basic_module modules/mod_auth_basic.soLoadModule auth_digest_module modules/mod_auth_digest.soLoadModule dbd_module modules/mod_dbd.soLoadModule dumpio_module modules/mod_dumpio.soLoadModule reqtimeout_module modules/mod_reqtimeout.soLoadModule ext_filter_module modules/mod_ext_filter.soLoadModule include_module modules/mod_include.soLoadModule filter_module modules/mod_filter.soLoadModule substitute_module modules/mod_substitute.soLoadModule deflate_module modules/mod_deflate.soLoadModule log_config_module modules/mod_log_config.soLoadModule logio_module modules/mod_logio.soLoadModule env_module modules/mod_env.soLoadModule expires_module modules/mod_expires.soLoadModule headers_module modules/mod_headers.soLoadModule ident_module modules/mod_ident.soLoadModule setenvif_module modules/mod_setenvif.soLoadModule version_module modules/mod_version.soLoadModule proxy_module modules/mod_proxy.soLoadModule proxy_connect_module modules/mod_proxy_connect.soLoadModule proxy_ftp_module modules/mod_proxy_ftp.soLoadModule proxy_http_module modules/mod_proxy_http.soLoadModule proxy_scgi_module modules/mod_proxy_scgi.soLoadModule proxy_ajp_module modules/mod_proxy_ajp.soLoadModule proxy_balancer_module modules/mod_proxy_balancer.so LoadModule mime_module modules/mod_mime.soLoadModule dav_module modules/mod_dav.soLoadModule status_module modules/mod_status.soLoadModule autoindex_module modules/mod_autoindex.soLoadModule asis_module modules/mod_asis.soLoadModule info_module modules/mod_info.soLoadModule cgi_module modules/mod_cgi.soLoadModule dav_fs_module modules/mod_dav_fs.soLoadModule vhost_alias_module modules/mod_vhost_alias.soLoadModule negotiation_module modules/mod_negotiation.soLoadModule dir_module modules/mod_dir.soLoadModule imagemap_module modules/mod_imagemap.soLoadModule actions_module modules/mod_actions.soLoadModule speling_module modules/mod_speling.soLoadModule userdir_module modules/mod_userdir.soLoadModule alias_module modules/mod_alias.soLoadModule rewrite_module modules/mod_rewrite.soTimeout 300 --新增的配置参数KeepAlive OnMaxKeepAliveRequests 1000KeepAliveTimeout 15UseCanonicalName OffAccessFileName .htaccessServerTokens FullServerSignature OnHostnameLookups Off<IfModule !mpm_netware_module><IfModule !mpm_winnt_module>## If you wish httpd to run as a different user or group, you must run # httpd as root initially and it will switch.## User/Group: The name (or #number) of the user/group to run httpd as. # It is usually good practice to create a dedicated user and group for # running httpd, as with most system services.#User daemonGroup daemon</IfModule></IfModule>----------------------------------以下内容是新增的关键参数<IfModule mpm_prefork_module>StartServers 40MinSpareServers 40MaxSpareServers 80MaxClients 256MaxRequestsPerChild 10000</IfModule><IfModule mpm_worker_module>StartServers 40MaxClients 2000MinSpareThreads 100MaxSpareThreads 300ThreadsPerChild 200MaxRequestsPerChild 0</IfModule>ProxyRequests OffRewriteEngine onRewriteCond %{REQUEST_METHOD} ^(TRACE|TRACK)RewriteRule .* - [F]RewriteEngine onRewriteCond %{HTTP:range} !(^bytes=[^,]+(,[^,]+){0,4}$|^$)RewriteRule .* - [F]TraceEnable off#NameVirtualHost 10.46.85.137:9080#<VirtualHost 10.46.85.137:9080>#ServerName 10.46.85.137:9080#ProxyPass /ponApp/ http://10.209.122.40:7001/xponApp/#ProxyPassReverse /ponApp/ http://10.209.122.40:7001/xponApp/#</VirtualHost>NameVirtualHost 10.46.85.137:8088<VirtualHost 10.46.85.137:8088>ServerName kuangdai --kuangdai LINUX系统的主机名ProxyPass /xponApp/ http://10.209.122.40:7001/xponApp/ ProxyPassReverse /xponApp/ http://10.209.122.40:7001/xponApp/启动服务报错--/etc/hosts 增加127.0.0.1 localhost.localdomainlocalhost ”kuangdai“主机名</VirtualHost><Proxy *>--配置反向代理的访问权限Order deny,allowAllow from all</Proxy>-----------------------------以上内容是新增的关键参数# 'Main' server configuration## The directives in this section set up the values used by the 'main'# server, which responds to any requests that aren't handled by a# <VirtualHost> definition. These values also provide defaults for# any <VirtualHost> containers you may define later in the file.## All of these directives may appear inside <VirtualHost> containers,# in which case these default settings will be overridden for the# virtual host being defined.### ServerAdmin: Your address, where problems with the server should be# e-mailed. This address appears on some server-generated pages, such # as error documents. e.g. admin@#ServerAdmin you@## ServerName gives the name and port that the server uses to identify itself.# This can often be determined automatically, but we recommend you specify # it explicitly to prevent problems during startup.## If your host doesn't have a registered DNS name, enter its IP address here. #ServerName 127.0.0.1:80 --这个ServerName可随意配置一定去掉前面### DocumentRoot: The directory out of which you will serve your# documents. By default, all requests are taken from this directory, but # symbolic links and aliases may be used to point to other locations.#DocumentRoot "/usr/local/apache/htdocs"## Each directory to which Apache has access can be configured with respect # to which services and features are allowed and/or disabled in that# directory (and its subdirectories).## First, we configure the "default" to be a very restrictive set of# features.#<Directory />Options FollowSymLinksAllowOverride NoneOrder deny,allowDeny from all</Directory>## Note that from this point forward you must specifically allow# particular features to be enabled - so if something's not working as # you might expect, make sure that you have specifically enabled it# below.### This should be changed to whatever you set DocumentRoot to.#<Directory "/usr/local/apache/htdocs">## Possible values for the Options directive are "None", "All",# or any combination of:# Indexes Includes FollowSymLinks SymLinksifOwnerMatch ExecCGI MultiViews## Note that "MultiViews" must be named *explicitly* --- "Options All" # doesn't give it to you.## The Options directive is both complicated and important. Please see # /docs/2.2/mod/core.html#options# for more information.#Options Indexes FollowSymLinks## AllowOverride controls what directives may be placed in .htaccess files.# It can be "All", "None", or any combination of the keywords:# Options FileInfo AuthConfig Limit#AllowOverride None## Controls who can get stuff from this server.#Order allow,denyAllow from all</Directory>## DirectoryIndex: sets the file that Apache will serve if a directory# is requested.#<IfModule dir_module>DirectoryIndex index.html</IfModule>## The following lines prevent .htaccess and .htpasswd files from being # viewed by Web clients.#<FilesMatch "^\.ht">Order allow,denyDeny from allSatisfy All</FilesMatch>## ErrorLog: The location of the error log file.# If you do not specify an ErrorLog directive within a <VirtualHost># container, error messages relating to that virtual host will be# logged here. If you *do* define an error logfile for a <VirtualHost> # container, that host's errors will be logged there and not here.#ErrorLog "logs/error_log"## LogLevel: Control the number of messages logged to the error_log.# Possible values include: debug, info, notice, warn, error, crit,# alert, emerg.#LogLevel warn<IfModule log_config_module>## The following directives define some format nicknames for use with # a CustomLog directive (see below).#LogFormat "%h %l %u %t \"%r\" %>s %b \"%{Referer}i\" \"%{User-Agent}i\"" combinedLogFormat "%h %l %u %t \"%r\" %>s %b" common<IfModule logio_module># You need to enable mod_logio.c to use %I and %OLogFormat "%h %l %u %t \"%r\" %>s %b \"%{Referer}i\"\"%{User-Agent}i\" %I %O" combinedio</IfModule>## The location and format of the access logfile (Common Logfile Format). # If you do not define any access logfiles within a <VirtualHost># container, they will be logged here. Contrariwise, if you *do*# define per-<VirtualHost> access logfiles, transactions will be# logged therein and *not* in this file.#CustomLog "logs/access_log" common## If you prefer a logfile with access, agent, and referer information # (Combined Logfile Format) you can use the following directive.##CustomLog "logs/access_log" combined</IfModule><IfModule alias_module>## Redirect: Allows you to tell clients about documents that used to # exist in your server's namespace, but do not anymore. The client # will make a new request for the document at its new location.# Example:# Redirect permanent /foo /bar## Alias: Maps web paths into filesystem paths and is used to# access content that does not live under the DocumentRoot.# Example:# Alias /webpath /full/filesystem/path## If you include a trailing / on /webpath then the server will# require it to be present in the URL. You will also likely# need to provide a <Directory> section to allow access to# the filesystem path.## ScriptAlias: This controls which directories contain server scripts. # ScriptAliases are essentially the same as Aliases, except that# documents in the target directory are treated as applications and # run by the server when requested rather than as documents sent to the # client. The same rules about trailing "/" apply to ScriptAlias# directives as to Alias.#ScriptAlias /cgi-bin/ "/usr/local/apache/cgi-bin/"</IfModule><IfModule cgid_module>## ScriptSock: On threaded servers, designate the path to the UNIX# socket used to communicate with the CGI daemon of mod_cgid.##Scriptsock logs/cgisock</IfModule>## "/usr/local/apache/cgi-bin" should be changed to whatever your ScriptAliased# CGI directory exists, if you have that configured.#<Directory "/usr/local/apache/cgi-bin">AllowOverride NoneOptions NoneOrder allow,denyAllow from all</Directory>## DefaultType: the default MIME type the server will use for a document # if it cannot otherwise determine one, such as from filename extensions. # If your server contains mostly text or HTML documents, "text/plain" is # a good value. If most of your content is binary, such as applications # or images, you may want to use "application/octet-stream" instead to # keep browsers from trying to display binary files as though they are # text.#DefaultType text/plain<IfModule mime_module>## TypesConfig points to the file containing the list of mappings from # filename extension to MIME-type.#TypesConfig conf/mime.types## AddType allows you to add to or override the MIME configuration# file specified in TypesConfig for specific file types.##AddType application/x-gzip .tgz## AddEncoding allows you to have certain browsers uncompress# information on the fly. Note: Not all browsers support this.##AddEncoding x-compress .Z#AddEncoding x-gzip .gz .tgz## If the AddEncoding directives above are commented-out, then you# probably should define those extensions to indicate media types: #AddType application/x-compress .ZAddType application/x-gzip .gz .tgz## AddHandler allows you to map certain file extensions to "handlers": # actions unrelated to filetype. These can be either built into the server # or added with the Action directive (see below)## To use CGI scripts outside of ScriptAliased directories:# (You will also need to add "ExecCGI" to the "Options" directive.) ##AddHandler cgi-script .cgi# For type maps (negotiated resources):#AddHandler type-map var## Filters allow you to process content before it is sent to the client. ## To parse .shtml files for server-side includes (SSI):# (You will also need to add "Includes" to the "Options" directive.) ##AddType text/html .shtml#AddOutputFilter INCLUDES .shtml</IfModule>## The mod_mime_magic module allows the server to use various hints from the # contents of the file itself to determine its type. The MIMEMagicFile # directive tells the module where the hint definitions are located.##MIMEMagicFile conf/magic## Customizable error responses come in three flavors:# 1) plain text 2) local redirects 3) external redirects## Some examples:#ErrorDocument 500 "The server made a boo boo."#ErrorDocument 404 /missing.html#ErrorDocument 404 "/cgi-bin/missing_handler.pl"#ErrorDocument 402 /subscription_info.html### MaxRanges: Maximum number of Ranges in a request before# returning the entire resource, or one of the special# values 'default', 'none' or 'unlimited'.# Default setting is to accept 200 Ranges.#MaxRanges unlimited## EnableMMAP and EnableSendfile: On systems that support it,# memory-mapping or the sendfile syscall is used to deliver# files. This usually improves server performance, but must# be turned off when serving from networked-mounted# filesystems or if support for these functions is otherwise# broken on your system.##EnableMMAP off#EnableSendfile off# Supplemental configuration## The configuration files in the conf/extra/ directory can be# included to add extra features or to modify the default configuration of # the server, or you may simply copy their contents here and change as# necessary.# Server-pool management (MPM specific)#Include conf/extra/httpd-mpm.conf# Multi-language error messages#Include conf/extra/httpd-multilang-errordoc.conf# Fancy directory listings#Include conf/extra/httpd-autoindex.conf# Language settings#Include conf/extra/httpd-languages.conf# User home directories#Include conf/extra/httpd-userdir.conf# Real-time info on requests and configuration#Include conf/extra/httpd-info.conf# Virtual hosts#Include conf/extra/httpd-vhosts.conf# Local access to the Apache HTTP Server Manual#Include conf/extra/httpd-manual.conf# Distributed authoring and versioning (WebDAV)#Include conf/extra/httpd-dav.conf# Various default settings#Include conf/extra/httpd-default.conf# Secure (SSL/TLS) connections#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>SSLRandomSeed startup builtinSSLRandomSeed connect builtin </IfModule>。
Apache服务器配置与管理
Apache服务器配置与管理一、Apache服务器的安装与启动1、查询系统是否安装了Apacherpm -qa | grep httpd2、运行如下命令进行安装rpm -ivh /media/RH*/Server/httpd-2.2.3-11.e15_1.3.i386.rpm3、启动Apache服务器service httpd restart 或者etc/init.d/httpd restart4、检测配置文件的语法service httpd configtest5、测试Apache服务器注意:防火墙的配置二、Apache服务器默认的配置文件信息1、主配置文件:/etc/httpd/conf/httpd.conf2、服务器的根目录(ServerRoot):/etc/httpd3、根文档目录(DocumentRoot):/var/www/html4、访问日志文件:/etc/httpd/logs/access_log5、错误日志文件:/etc/httpd/logs/error_log6、模块存放路径:/etc/httpd/modules(一)httpd.conf文件的格式1、httpd.conf配置文件主要由全局环境、主服务器配置和虚拟主机3个部分组成2、配置语句的语法格式:配置参数名称参数值3、检查httpd.conf的语法是否正确apachectl configtest 或者service httpd configtest(二)Web服务的基本配置1、主目录的路径(DocumentRoot)默认位置:/var/www/html可以将需要发布的网页放在这个目录下2、默认文档在浏览器中,输入Web站点的IP地址或域名即显示出来的Web页面DirectoryIndex index.html index.htm index.php index.html.var3、配置Apache监听的IP地址和端口号Listen 80(在本机所有可用IP地址上监听TCP 80端口)只监听IP地址为192.168.16.177的80端口和192.168.18.178的8080端口Listen 192.168.16.177 80Listen 192.168.18.178 80804、设置相对根目录路径相对根目录通常是Apache存放配置文件、日志文件、模块文件等的地方。
httpd基本配置及应用
httpd基本配置和应用任务要求:1.设置服务端口:8081;2.设置默认目录位置:\etc\web1;3.新建两个账户admin01,admin02;4.在web1下设置school,home两个目录;5.仅admin01拥有school目录的所有权限;6.仅admin02拥有home目录的所有权限;7.在web1下面新建index.htm,访问该页面时自动指向school下面的index.htm;8.在web1下面新建index.html,访问该页面时自动指向home下面的index.htm。
任务实现:安装httpd(Apache)请自行百度。
关于httpd的配置目录如下:图 1 httpd的主要配置文件测试httpd是否打开且正常运行,在浏览器中输入http://127.0.0.1,能够打开Apache默认页面说明安装成功:图 2 测试httpd服务是否启动成功 设置服务端口图 3 设置监听端口8081图 4 改变默认端口后不可访问图 5 使用修改后的端口8081 设置默认目录位置图 6 用vi打开httpd配置文件图 7 编辑默认目录位置新建账户图 8 按要求新建账户 在web1下设置school,home两个目录图 9 新建题述文件夹⏹仅admin01拥有school目录的所有权限,admin02拥有home目录的所有权限图 10 修改目录权限⏹建立所需文件并编写跳转源码图 11 建立所需*.htm*文件图 12 用vi编辑跳转源码图 13 用浏览器测试图 14 因权限限制不可访问图 15 修改相关权限使可访问目标文件图 16 再次测试已跳转到shool/index.htm访/etc/web1/index.html跳至/home/index.htm 的方法同上,请自行修改相关源码及权限。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
#### 虚拟主机必须重新设定的指令
#文档树的根目录(没有真正的主服务器,因此不设置此值)(不能包含结尾斜杠)
#DocumentRoot directory-path
#当没有指定ServerName时,服务器会尝试对IP地址进行反向查询来推断主机名。
#所以,必须胡乱设置一个默认的主服务器主机名
#411 必须发送Content-Length头否则无法处理
ErrorDocument 411 /error/http|ErrCode=411.htm
#412 指定的一些前提条件失败
ErrorDocument 411 /error/http|ErrCode=412.htm
#413 请求实体太大
#可以巧妙解决双线机房以及同目录多站点的问题 #还可以巧妙解决同时运行产品环境和开发环境的问题(本配置未使用该技巧)
UseCanonicalName Off
UseCanonicalPhysicalPort Off
#####################################################################
LogLevel warn
</IfModule>
#### 处理器
<IfModule mpm_winnt_module>
#定位CGI脚本解释器(仅用于Win32)
ScriptInterpreterSource Script
</IfModule>
#强制所有匹配的文件被一个指定的处理器处理
##### 适用于主服务器配置的动态加载模(DSO)块指令 #####
#### mod_deflate ####
#用于zlib一次压缩的片断大小(字节)(20K),一般等于较大页面的大小
DeflateBufferSize 20240
#压缩程度,取值范围在 1(最低压缩率) 到 9(最高压缩率)之间
ErrorDocument 413 /error/http|ErrCode=413.htm
#414 请求URI太长
ErrorDocument 414 /error/http|ErrCode=414.htm
#415 不支持的MIME类型
ErrorDocument 415 /error/http|ErrCode=415.htm
#### 性能相关
#在递送中使用内存映射来读取文件(某些情况下需要禁用)
EnableMMAP On
#使用操作系统内核的sendfile支持来将文件发送到客户端
EnableSendfile On
#禁用对客户端IP的DNS查找
HostnameLookups Off
#持久链接(禁用)
#### 貌似安全相关
#仅当一个请求映射到一个真实存在的路径时才会被接受
AcceptPathInfo Off
#禁止URL中使用经过编码的路径分割符
AllowEncodedSlashes Off
#指定内部重定向和嵌套子请求的最大数量(至少是5)
LimitInternalRecursion 10
#406 资源已经找到但MIME类型与Accpet头中所指不兼容
ErrorDocument 406 /error/http|ErrCode=406.htm
#408 在服务器许可的等待时间内客户一直没有发出任何请求
ErrorDocument 408 /error/http|ErrCode=408.htm
RLimitCPU 1 1
#限制由Apache子进程派生的进程占用的最大内存字节数
RLimitMEM 1 1
#限制由Apache子进程派生的进程所派生的进程数目
RLimitNPROC 0 1
</IfModule>
#禁止生成服务器端生成文档的页脚
ServerSignature Off
ErrorDocument 403 /error/http|ErrCode=403.htm
#404 未找到
ErrorDocument 404 /error/http|ErrCode=404.htm
#405 方法不被允许
ErrorDocument 405 /error/http|ErrCode=405.htm
#### 第二部分 主服务器配置[这些指令的作用域含同时含有"server config"和"virtual host"] #####
################################################################################################
#限制客户端发送的HTTP请求体的最大字节长度(1.2M)
LimitRequestBody 1300000
#限制基于XML的请求体的最大字节长度(1.2M)
LimitXMLRequestBody 1300000
<IfModule mpm_prefork_module>
#限制Apache子进程派生的进程占用CPU的最大秒数
## 本配置文件将所有主机都当作虚拟主机,并不存在真正的"主服务器",因此这部分配置只是所有虚拟主机的默认设置而已 ##
#####################################################################
##### 适用于主服务器配置的核心(Core)指令 #####
#500 内部服务器错误
ErrorDocument 500 /error/http|ErrCode=500.htm
#501 服务器不支持实现请求所需要的功能
ErrorDocument 501 /error/http|ErrCode=501.htm
#502 服务器用作网关或代理服务器时收到了无效响应
DeflateCompressionLevel 3
#在日志中将一个指示压缩率标记附加在请求之后(关闭)
#DeflateFilterNote Input instream
#AuthDigestNcCheck On
#为了跟踪客户端而分配的共享内存字节数(mod_auth_digest),每链接需要128字节。
AuthDigestShmemSize 25600
#禁止在内存中缓冲日志(mod_log_config)
BufferedLogs Off
#为了和RewriteMap*程序*通讯而使用的同步锁文件的名称(mod_rewrite)
#SetHandler handler-name|None
#### 输入输出过滤器
#压缩输出所有文本内容(目前反对使用该指令,但因其简单故而使用)
AddOutputFilterByType DEFLATE application/x-javascript application/xhtml+xml application/xslt+xml application/xml application/xml-dtd text/css text/html text/plain text/richtext text/rtf text/xml
KeepAlive Off
KeepAliveTimeout 1
MaxKeepAliveRequests 1
#### 错误应答与错误日志
#自定义错误响应
#400 错误的请求
ErrorDocument 400 /error/http|ErrCode=400.htm
#403 禁止访问
<IfModule mpm_winnt_module>
TypesConfig conf/mime.types
</IfModule>
<IfModule mpm_prefork_module>
TypesConfig /etc/httpd/mime.types
</IfModule>
#检查服务器发送的 nonce 计数(尚未实现)(mod_auth_digest)
#409 由于请求和资源的当前状态相冲突因此不能成功(通常和PUT有关)
ErrorDocument 409 /error/http|ErrCode=409.htm
#410 所请求的文档已经不再可用而且服务器不知道应该重定向到哪一个地址
ErrorDocument 410 /error/http|ErrCode=410.htm
ErrorDocument 502 /error/http|ErrCode=502.htm
#503 服务器由于维护或者负载过重暂时不能提供服务
ErrorDocument 503 /error/http|ErrCode=503.htm
#504 不能及时地从远程服务器获得应答(作为代理或网关的服务器)
ServerName xx.xx.xx.xx
#### 目录相关
#分布式配置文件的名字
AccessFileName .htaccess
#目录仅可以使用符号链接的特性
Options FollowSymLinks
#### 应答头相关
#当应答内容是text/plain或text/html时在HTTP应答头中加入的默认字符集
#错误日志(未使用滚动)
<IfModule mpm_winnt_module>
ErrorLog log/error.log