Apche Httpd安装与配置

Apche Httpd安装与配置

查看系统是否安装了httpd

rpm -qa | grep httpd  或者 yum list |grep httpd

安装需要的tar包有:

httpd-2.2.22.tar.gz,apr-1.4.6.tar.gz,apr-util-1.5.2.tar.gz,pcre-8.32.tar.gz

安装顺序为apr、apr-util、pcre、httpd。

安装httpd后的使用rpm  -ql  httpd查看基本信息

服务脚本:/etc/rc.d/init.d/httpd

运行目录:/etc/httpd/

配置文件:/etc/httpd/conf

主配置文件:/etc/httpd/conf/httpd.conf

扩展配置:/etc/httpd/conf.d/*.conf

socket:http:80/tcp,https:443/tcp

网页文件目录(DocumentRoot):/var/www/html

CGI:/var/www/cgi-bin/

默认主页面文件:/var/www/html/index.html

操作httpd服务命令

1. 启动 apachectl -k start

2. 停止 apachectl -k stop

3. 状态 apachectl –k graceful

4. 重启 apachectl –k restart

5.service httpd configtest #测试配置文件有没有语法错误

6.httpd -t #同上

7.httpd -l #当前服务器所使用的模型及开启模块

8.httpd -D DUMP_MODULES #当前服务器支持的模块

9.service httpd reload #重新加载配置文件

10.service httpd restart #重启httpd服务

注意:修改配置文件后要重新加载配置文件,修改服务器监听端口后要重启

服务

Httpd主配置文件/etc/httpd/conf/httpd.conf详解

1.ServerRoot "/etc/httpd"

用于指定Apache的运行目录,服务启动之后自动将目录改变为当前目

录,在后面使用到的所有相对路径都是想对这个目录下。服务器配置、出错信息,

日志文件都保存在此目录下。注意:不要在目录末尾加“/”

2.PidFile run/httpd.pid

服务器用于记录启动时进程ID的文件。记录httpd守护进程的pid号码,这是系统

识别一个进程的方法,系统中httpd进程可以有多个,但这个PID对应的进程是其

他的父进程

3.Timeout 60

服务器与客户端断开的时间。如果用户端超过60秒还没连上server,或server超过

60秒还没传送信息给用户端,即断线。

4.KeepAlive Off

是否持续连接(因为每次连接都得三次握手,如果是访问量不大,建议打开此项,

如果网站访问量比较大关闭此项比较好),修改为:KeepAlive On 表示允许程序

性联机

5.MaxKeepAliveRequests 100

表示一个连接的最大请求数,设置为0表示无限制,建议设置较高的值,以获得最

好的性能。

MinSpareServer 5
      ·MaxSpareServers 10
        MinSpareServer 5表示最少会有5个闲置的处理程序,如果实际的数目少于此数目,

则会增加处理程序。MaxSpareServers 10表示最大的闲置处理程序数目,如果你的

网站需求量很大,可以将此数目设大一些,大不要随便将此数目设得太大。

StartServers 5
         启动时Server的数目
         MaxClients 150
         限制同时间最大的连线数目,当然不能设得太小,一旦达到此数目,就无法再增

加用户端
       ·MaxRequestPerChild 0
         限制子处理程序结果前的要求数目,0表示不限制

6.KeepAliveTimeout 15

同一连接同一客户端两个请求之间的等待时间。

7.<IfModule prefork.c>

StartServers       8

MinSpareServers    5

MaxSpareServers   20

ServerLimit      256

MaxClients       256

MaxRequestsPerChild  4000

</IfModule>

系统默认的模块,表示为每个访问启动一个进程(即当有多个连接公用一个

进程的时候,在同一时刻只能有一个获得服务)。
           StartServer开始服务时启动8个进程,最小空闲5个进程,最多空闲20个进程。
           MaxClient限制同一时刻客户端的最大连接请求数量超过的要进入等候队列。
           MaxRequestsPerChild每个进程生存期内允许服务的最大请求数量,0表示永不结

束。

8.<IfModule worker.c>

StartServers         4

MaxClients         300

MinSpareThreads     25

MaxSpareThreads     75

ThreadsPerChild     25

MaxRequestsPerChild  0

</IfModule>

为Apache配置线程访问,即每对WEB服务访问启动一个线程,这样对内存占

用率比较小。
            ServerLimit服务器允许配置进程数的上限。
            ThreadLimit每个子进程可能配置的线程上限
            StartServers启动两个httpd进程,
            MaxClients同时最多能发起250个访问,超过的要进入队列等待,其大小有

ServerLimit和ThreadsPerChild的乘积决定
            ThreadsPerChild每个子进程生存期间常驻执行线程数,子线程建立之后将不再

增加
            MaxRequestsPerChild每个进程启动的最大线程数,如达到限制数时进程将结

束,如置为0则子线程永不结束

9.#Listen 12.34.56.78:80

Listen 80

允许将Apche绑定到指定的IP和端口,监听的端口,如有多块网卡,

默认监听所有网卡参见<VirtualHost>

10.150-221行为启动时加载的模块

11.Include conf.d/*.conf  加载的配置文件

12. User  apache   Group apache  启动服务后转换的身份,在启动服

务时通常以root身份,然后转换身份,这样增加系统安全。

13.ServerAdmin [email protected] 管理员邮箱

14.ServerName www.example.com:80

默认是不需要指定的,服务器通过名字解析过程来获得自己的名字,但如果

解析有问题(如反向解析不正确),或者没有DNS名字,也可以在这里指定

IP地址,当这项不正确的时候服务器不能正常启动。前面启动Apache时候

提示正在启动 httpd:httpd: apr_sockaddr_info_get() failed forjustin httpd: Could

not reliably determine the server‘s fully qualified domain name, using

127.0.0.1forServerName,解决方法就是启动该项把www.example.com:80修改

为自己的域名或者直接修改为localhost。
              注: 主机名不能随便指定。必须是你的机器有效的DNS名称。

否则无法正常工作。
                 如果不能理解,倾向你的网络管理员询问。
                 如果你的主机没有注册DNS名,可在此输入IP地址。
                 此时必须用IP地址来访问。(如, http://123.45.67.89/)
                 这样扔可以完成重新定向的工作。
                 127.0.0.1 是TCP/IP的本地环路地址, 通常命名为localhost.
                 机器默认此地置为本身。 如果只是使用Apache来进行本地测试和开发,
                 可使用127.0.0.1 作为服务器名.

15.UseCanonicalName Off

如果客户端提供了主机名和端口,Apache将会使用客户端提供的这些信息

来构建自引用URL。这些值与用于实现基于域名的虚拟主机的值相同,并

且对于同样的客户端可用。CGI变量SERVER_NAME和SERVER_PORT

也会由客户端提供的值来构建。

16.DocumentRoot "/var/www/html"

网页文件存放的目录

17.<Directory />

Options FollowSymLinks

AllowOverride None

</Directory>

对根目录的一个权限的设置

18.<Directory "/var/www/html">

Options Indexes FollowSymLinks

AllowOverride None #此项控制目录中哪些.htaccess文件可覆盖。

Order allow,deny #控制哪些用户可从此服务器获得资料。

Allow from all

</Directory>

对/var/www/html目录的一个权限的设置,这个地址必须和DcoumentRoot保持一致。options中Indexes表示当网页不存在的时候允许索引显示目录中的文件,FollowSymLinks是否允许访问符号链接文件。有的选项有ExecCGI表是否使用CGI,如Options Includes ExecCGI FollowSymLinks表示允许服务器执行CGI及SSI,禁止列出目录。SymLinksOwnerMatch表示当符号链接的文件和目标文件为同一用户拥有时才允许访问。AllowOverrideNone表示不允许这个目录下的访问控制文件来改变这里的配置,这也意味着不用查看这个目录下的访问控制文件,修改为:AllowOverride All 表示允许.htaccess。Order对页面的访问控制顺序后面的一项是默认选项,如allow,deny则默认是deny,Allowfromall表示允许所有的用户,通过和上一项结合可以控制对网站的访问控制

19.<IfModule mod_userdir.c>

UserDir disabled

</IfModule>

是否允许用户访问其家目录,默认是不允许

20.#<Directory /home/*/public_html>

# AllowOverride FileInfo AuthConfig Limit

# Options MultiViews Indexes SymLinksIfOwnerMatch IncludesNoExec

#    <Limit GET POST OPTIONS>

#        Order allow,deny

#        Allow from all

#    </Limit>

#    <LimitExcept GET POST OPTIONS>

#        Order deny,allow

#        Deny from all

#    </LimitExcept>

#</Directory>

如果允许访问用户的家目录中的网页文件,则取消以上注释,并对其中进

行修改

22.DirectoryIndex index.html index.html.var

指定所要访问的主页的默认主页名字,默认首页文件名为index.html

23.AccessFileName .htaccess

定义每个目录下的访问控制文件名,缺省为.htaccess

24.<Files ~ "^\.ht">

Order allow,deny

Deny from all

Satisfy All

</Files>

控制不让web上的用户来查看.htpasswd和.htaccess这两个文件

25.TypesConfig /etc/mime.types

用于设置保存有不同MIME类型数据的文件名

26.DefaultType text/plain

默认的网页的类型

27.<IfModule mod_mime_magic.c>

#   MIMEMagicFile /usr/share/magic.mime

MIMEMagicFile conf/magic

</IfModule>

指定判断文件真实MIME类型功能的模块

28.HostnameLookups Off

当打开此项功能时,在记录日志的时候同时记录主机名,这需要服务器来反

向解析域名,增加了服务器的负载,通常不建议开启

29.#EnableMMAP off

是否允许内存映射:如果httpd在传送过程中需要读取一个文件的内容,它

是否可以使用内存映射。如果为on表示如果操作系统支持的话,将使用内

存映射。在一些多核处理器的系统上,这可能会降低性能,如果在挂载了

NFS的DocumentRoot上如果开启此项功能,可能造成因为分段而造成httpd

崩溃

30.#EnableSendfile off

这个指令控制httpd是否可以使用操作系统内核的sendfile支持来将文件发送

到客户端。默认情况下,当处理一个请求并不需要访问文件内部的数据时(比

如发送一个静态的文件内容),如果操作系统支持,Apache将使用sendfile

将文件内容直接发送到客户端而并不读取文件

31.ErrorLog logs/error_log

错误日志存放的位置

32.LogLevel warn

Apache日志的级别

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

combined

LogFormat "%h %l %u %t \"%r\" %>s %b" common

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

LogFormat "%{User-agent}i" agent

定义了日志的格式,并用不同的代号表示

34.#CustomLog logs/referer_log referer

#CustomLog logs/agent_log agent

说明日志记录的位置,这里面使用了相对路径,所以ServerRoot需要指出,日

志位置就存放在/etc/httpd/logs

35.ServerSignature On

定义当客户请求的网页不存在,或者错误的时候是否提示apache的版本的一

些信息

36.Alias /icons/ "/var/www/icons/"

定义一些不在DocumentRoot下的文件,而可以将其映射到网页根目录中,这

也是访问其他目录的一种方法,但在声明的时候切记目录后面加”/”

37.<Directory "/var/www/icons">

Options Indexes MultiViews FollowSymLinks

AllowOverride None

Order allow,deny

Allow from all

</Directory>

定义对/var/www/icons/的权限,修改为 Options MultiViews FollowSymLinks

表示不在浏览器上显示树状目录结构

38.<IfModule mod_dav_fs.c>

# Location of the WebDAV lock database.

DAVLockDB /var/lib/dav/lockdb

</IfModule>

对mod_dav_fs.c模块儿的管理

39.ScriptAlias /cgi-bin/ "/var/www/cgi-bin/"

对CGI模块儿的的别名,与Alias相似。

40.<Directory "/var/www/cgi-bin">

AllowOverride None

Options None

Order allow,deny

Allow from all

</Directory>

对/var/www/cgi-bin文件夹的管理,方法同上

关于cgi执行脚本的配置,这里有两种设置CGI脚本的方法。第一、CGI的脚本文件以.cgi为扩展名;第二、设置脚本可执行目录。但是这两种方法都需要将要执行的文件设置为711,才可以被执行。
第一种方法,我们需要在access.conf文件种将你要发行的目录设置为Option ExecCGI All,在srm.conf资源配置文件中,加上下列一句:
AddHandle cgi-script .cgi
这样在所有的目录种只要你的文件是.cgi为扩展名的,且文件访问权限为711的,无论给文件在你发行目录的任何一个地方都可以做为CGI被Apache服务器调用。这种方法一般没有第二种方法安全。
第二种方法,是将一个目录作为一个可执行目录,将所有的cgi文件都放在其中,这里就不一定非得是以.cgi为扩展名得文件可以执行,而是只要有711属性的文件就可以被执行,而且其它的非可执行文件都被禁止访问只要在/home/httpd/cgi-bin/目录中的可执行文件都可以被Web服务器调用,而其它的非可执行文件将被拒绝访问。

41.# Redirect old-URI new-URL

Redirect参数是用来重写URL的,当浏览器访问服务器上的一个已经不存在的资源的时候,服务器返回给浏览器新的URL,告诉浏览器从该URL中获取资源。这主要用于原来存在于服务器上的文档改变位置之后,又需要能够使用老URL能访问到原网页

42.IndexOptions FancyIndexing VersionSort NameWidth=* HTMLTable

Charset=UTF-8 
          AddIconByEncoding (CMP,/icons/compressed.gif) x-compress x-gzip
           ... 
          IndexIgnore .??* *~ *# HEADER* README* RCS CVS *,v *,t

当一个HTTP请求的URL为一个目录的时候,服务器返回这个目录中的索引文件,如果目录中不存在索引文件,并且服务器有许可显示目录文件列表的时候,就会显示这个目录中的文件列表,为了使得这个文件列表能具有可理解性,而不仅仅是一个简单的列表,就需要前这些参数。如果使用了IndexOptionsFancyIndexing选项,可以让服务器针对不同的文件引用不同的图标。如果没有就使用DefaultIcon定义缺省图标。同样,使用AddDescription可以为不同类型的文档介入描述

43.AddLanguage ca .ca 
        ...... 
        AddLanguage zh-TW .zh-tw

添加语言

44 .LanguagePriority en ca cs da de el eo es et fr he hr it ja ko ltz nl nn no pl pt

pt-BR ru sv zh-CN zh-TW

Apache支持的语言

45. AddDefaultCharset UTF-8

默认支持的语言

46. #AddType application/x-tar .tgz

支持的应用如果想支持对php的解析添加这样一行

47.#AddEncoding x-compress .Z 
         #AddEncoding x-gzip .gz .tgz

支持对以.Z和.gz.tgz结尾的文件

48.AddType application/x-compress .Z 
         AddType application/x-gzip .gz .tgz

添加对上述两种文件的应用

49.#AddHandler cgi-script .cgi

修改为:AddHandler cgi-script .cgi .pl 表示允许扩展名为.pl的CGI脚本运行

50.AddType text/html .shtml 
          AddOutputFilter INCLUDES .shtml

添加动态处理类型为server-parsed由服务器预先分析网页内的标记,将标记

改为正确的HTML标识

51#ErrorDocument 404 /missing.html

当服务器出现404错误的时候,返回missing.html页面

52. Alias /error/ "/var/www/error/"

赋值别名

53.<IfModule mod_negotiation.c>

<IfModule mod_include.c>

<Directory "/var/www/error">

AllowOverride None

Options IncludesNoExec

AddOutputFilter Includes html

AddHandler type-map var

Order allow,deny

Allow from all

LanguagePriority en es de fr

ForceLanguagePriority Prefer Fallback

</Directory>

</IfModule>

</IfModule>

对/var/www/error网页的权限及操作

54.BrowserMatch "Mozilla/2" nokeepalive 
          BrowserMatch "MSIE 4\.0b2;" nokeepalive downgrade-1.0 force-response-1.0 
          BrowserMatch "RealPlayer 4\.0" force-response-1.0 
          BrowserMatch "Java/1\.0" force-response-1.0 
          BrowserMatch "JDK/1\.0" force-response-1.0

设置特殊的参数,以保证对老版本浏览器的兼容,并支持新浏览器的特性

Virtual Hosts

55.#NameVirtualHost *:80

如果启用虚拟主机的话,必须将前面的注释去掉,而且,第二部分的内容都可以

出现在每个虚拟主机部分。
         # VirtualHost example:

#<VirtualHost *:80>

#    ServerAdmin [email protected]

#    DocumentRoot /www/docs/dummy-host.example.com

#    ServerName dummy-host.example.com

#    ErrorLog logs/dummy-host.example.com-error_log

#    CustomLog logs/dummy-host.example.com-access_log common

#</VirtualHost>

时间: 2024-10-10 06:26:15

Apche Httpd安装与配置的相关文章

linux httpd安装及配置

httpd安装比较简单,如果yum源已经配置成功,直接执行#yum install httpd就可以了.再执行#rpm -ql httpd可以显示出安装完成httpd后,所生成的所有文件,比如/etc/httpd/conf目录,这个目录就是存放httpd的配置文件的.再比如/var/www/html这个目录缺省情况下是Docroot(文档目录),这个目录下存放得是ie等客户端可以访问得html文件. httpd的详细配置信息:

centos7 apache httpd安装和配置django项目

一.安装httpd服务 apache在centos7中是Apache HTTP server.如下对httpd的解释就是Apache HTTP Server.所以想安装apache其实是要安装httpd. httpd.x86_64 : Apache HTTP Server 安装: # yum install httpd 设置httpd服务开机启动 [[email protected] httpd]# /sbin/chkconfig httpd on Note: Forwarding reques

httpd安装与配置(编译安装)

httpd简介 httpd是Apache超文本传输协议(HTTP)服务器的主程序.被设计为一个独立运行的后台进程,它会建立一个处理请求的子进程或线程的池. 通常,httpd不应该被直接调用,而应该在类Unix系统中由apachectl调用,在Windows中作为服务运行. httpd版本 主要介绍httpd的两大版本,httpd-2.2和httpd-2.4. CentOS6系列的版本默认提供的是httpd-2.2版本的rpm包 CentOS7系列的版本默认提供的是httpd-2.4版本的rpm包

Apache Httpd安装与配置

1.1 简介 Apache HTTP Server(简称Apache)是Apache软件基金会的一个开放源码的网页服务器,可以在大多数计算机操作系统中运行,由于其多平台和安全性[1]被广泛使用,是最流行的Web服务器端软件之一.它快速.可靠并且可通过简单的API扩展,将Perl/Python等解释器编译到服务器中. 功能包括目录索引.目录别名.内容协商.可配置的HTTP错误报告.CGI程序的SetUID执行.子进程资源管理.服务器端图像映射.重写URL.URL拼写检查以及联机手册等. Apach

httpd安装与配置(centos7) 2

承接上文 1./usr/local/apache/bin/apachectl start启动apache,出现错误 解决方法:(进入安装目录,编辑httpd.conf文件,添加ServerName localhost:80或者去掉ServerName www.example前面的#号,这里添加本地ip) 重启后用浏览器访问172.16.121.67时提示It works! 2.添加环境变量使httpd可以任意访问 vim /etc/profile 在"/etc/profile"文件最后

linux命令:httpd 安装配置 elinks htpasswd

LAMP:L=linux  A=apache网页服务器  M=mysql数据库服务器  P=php应用服务器 httpd:  事先创建进程,按需维持适当的进程,模板化设计,核心比较小,各种功能都模块添加, 支持运行配置,支持单独编译模块.   httpd -t用于检测httpd.conf主配置文档是否存在语法错误  [[email protected] conf]# httpd -t Syntax OK       检测配置文档语法正常 elinks:linux系统中打开纯文本网页界面.   参

PHP源码安装及配置——以fastCGI的方式与httpd整合

在前一篇博文中介绍了LAMP的安装及配置.这里专门介绍PHP以fastCGI的方式与httpd整合的情况下,具体如何编译及配置.而且假定httpd.mysql均如前一篇博文介绍的安装配置完毕.php也采取一样版本的源码包php-5.6.1.tar.bz2. 1.  编译安装php # tar xf php-5.6.1.tar.bz2 # cd php-5.6.1 # ./configure --prefix=/usr/local/php --enable-sockets --enable-mbs

Linux下Nagios的安装与配置[转]

一.Nagios简介 Nagios是一款开源的电脑系统和网络监视工具,能有效监控Windows.Linux和Unix的主机状态,交换机路由器等网络设置,打印机等.在系统或服务状态异常时发出邮件或短信报警第一时间通知网站运维人员,在状态恢复后发出正常的邮件或短信通知. Nagios原名为NetSaint,由Ethan Galstad开发并维护至今.NAGIOS是一个缩写形式: "Nagios Ain't Gonna Insist On Sainthood" Sainthood 翻译为圣徒

httpd服务的配置

httpd2.2安装 yum安装 # yum install httpd-2.2.15-26.el6.centos.x86_64 配置文档:编辑之前复制一份 vim /etc/httpd/conf/httpd.conf 1.ServerRoot "/etc/httpd"   服务器运行目录 配置文件.错误文档.日志的保持目录 2.端口 Listen [IP] PORT Listen 80 Listen 8080 这样,http://192.168.1.31:8080 就可以访问主页面了