linux httpd apache配置文件详解

合集下载

Red+Hat+Enterprise+Linux+5+apache配置文档

Red+Hat+Enterprise+Linux+5+apache配置文档

第一部分安装以及基本配置 (3)1.1A PACHE的安装及启动(基于RHEL5) (3)1.1.1Apache的安装 (3)1.1.2Apache服务的启动和停止 (3)1.2基本配置 (4)1.2.1apache服务概述: (4)1.2.2Apache基本设置 (4)1.2.2.1主机相关配置(/etc/httpd/httpd.conf) (5)1.2.2.2语言配置 (/etc/httpd/conf/httpd.conf) (6)1.2.2.3权限设置 (7)1.2.3专项配置 (7)1.2.3.1配置本地文件系统共享 (7)1.2.3.2配置虚拟主机 (8)1.2.3.3有关于CGI的配置 (9)1.2.3.4.htaccess认证页面设置 (10)1.2.3.5创建基于SSL加密的apache服务 (11)第一部分安装以及基本配置1.1 Apache的安装及启动(基于RHEL5)1.1.1Apache的安装可以使用两种方式进行安装:1.Yum方式安装2.Rpm方式安装Yum方式安装,在服务器上执行如下命令:# yum groupinstall “Web Server”这将自动安装所有与httpd有依赖关系和默认配置的包。

以下为自动安装的包名:Rpm方式安装, 可以在服务器上执行如下命令来通过RPM安装:# rpm –ivh package_name1.1.2Apache服务的启动和停止启动和停止apache服务:/etc/init.d/httpd start OR service httpd start/etc/init.d/httpd stop OR service httpd stop/etc/init.d/httpd status OR service httpd status1.2基本配置1.2.1apache服务概述:类型:标准SysV管理的服务软件包:httpd, httpd-devel, httpd-manual守护进程:/usr/sbin/httpd默认端口:80 (http), 443 (https)配置文件:/etc/httpd/* , /var/www/*相关软件:system-config-httpd, mod_sslapache在RHEL下的组织结构:/etc/httpd/conf/httpd.conf: apache的主配置文件,基本包括了apache的大多数配置信息./etc/httpd/conf.d/*.conf: 其他功能配置文件,如ssl,perl,php等支持的配置信息./usr/lib/httpd/modules/: apache支持的模块默认都放在这个目录下./var/www/html/: apache预设的"/"目录.http://hostname默认访问的就是这里./var/www/error/: 当主机配置错误或为响应客户端访问出错时,显示在浏览器上的错误信息存放路径./var/www/icons/: 这个目录提供了apache预设的一些图示.通过http://hostname/icons/访问./var/www/cgi-bin/: 预设可以存放一些CGI脚本的目录,通过/cgi-bin/访问./var/log/httpd/: 该路径为apache日志目录,对于大访问量情况,应对该文件系统给予足够空间,并考虑可动态扩容方案./usr/sbin/apachectl: apache的主要执行文件,是bash写的,可以方便启动apache,并主动检测系统上的一些预设参数./usr/sbin/httpd: apache的二进制可执行文件./usr/bin/htpasswd: 设置.htaccess密码口令相关的可执行文件1.2.2Apache基本设置编辑/etc/hosts文件,将主机名称添加到该配置文件中,否则在apache启动的时候可能会报找不到FQDN名称的问题。

Linux 主配置文件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服务器

每日一句:I am a slow walker, but I never walk backwards.(我走得很慢,但从来不后退。

)一、本次配置a)操作系统:Linuxb)服务器:httpd-2.4.3.tar.gzc)APR:apr-1.4.6.tar.gzd)APR-Util:apr-util-1.5.1.tar.gze)PCRE:pcre-8.31.tar.gz二、Linux安装程序的基本步骤1、./configure --prefix=安装目录2、make3、make install三、Linux安装apache服务器步骤:1、gzip -d httpd- NN.tar.gz (阿帕奇服务器安装包)2、tar xvf httpd- NN.tar(执行第一步后出现这个文件)3、cd httpd- NN(执行完第二步后会产生一个服务器的目录,使用cd命令进入)4、安装程序的基本步骤5、安装目录/bin/apachectl -k start (启动服务器)6、测试。

打开浏览器输入http://服务器IP,如果出现It Works,则服务器安装成功7、安装过程中遇到的问题a)安装服务器时提示缺少apr文件(到官网下载后进行安装(还是按照安装步骤))b)安装apr时提示确实apr-util(到官网下载后进行安装(还是按照安装步骤))c)安装服务器时提示确实pcre(到官网下载后进行安装(还是按照安装步骤))四、配置apache的虚拟主机a)将“安装目录\conf\httpd.conf ”中“#Include etc/extra/httpd-vhosts.conf ”的#去掉。

这样才能使httpd-vhosts.conf文件起作用,或者直接在httpd.conf中写配置也可以(不建议这么做)b)在httpd-vhosts.conf中配置VirtualHost(注:Apache在接受到请求时,首先会默认第一个VirtualHost,然后再找匹配的,如果没有匹配的,默认就是第一个VirtualHost起作用)<VirtualHost *:80> #主机名ServerAdmin admin@ #如果服务器有任何问题将发信到这个地址DocumentRoot /www/ #虚拟主机的指向目录ServerName #访问主机的域名[:端口号]ServerAlias * #- -这个不知道是啥。

Linux下Apache服务的部署和配置

Linux下Apache服务的部署和配置

Linux下Apache服务的部署和配置⽬录1 Apache的作⽤2 Apache的安装3 apache的启⽤4 apache的基本信息5 apache的访问控制5.1 基于客户端ip的访问控制5.2 基于⽤户认证的访问控制6 apache的虚拟主机7 apache的加密访问8 ⽹页重写9 正向代理10 反向代理11 apache ⽀持的语⾔1 Apache的作⽤解析⽹页语⾔,如html,php,jsp等接收web⽤户的请求,并给予⼀定的响应2 Apache的安装安装apche软件:dnf install httpd.x86_64 -y3 apache的启⽤开启apache服务并设置开机启动:systemctl enable --now httpd查看apache服务的状态:systemctl enable --now httpd查看⽕墙信息:firewall-cmd --list-all 在⽕墙中永久开启http服务:firewall-cmd --permanent --add-service=http在⽕墙中永久开启https服务: f irewall-cmd --permanent --add-service=https在不改变当前⽕墙状态的情况下刷新防⽕墙:firewall-cmd --reload4 apache的基本信息apche的基本信息服务名称:httpd主配置⽂件:/etc/httpd/conf/httpd.conf⼦配置⽂件:/etc/httpd/conf.d/*.conf默认发布⽬录:/var/www/html默认端⼝:80 (http),443(https)⽇志⽂件:/etc/httpd/logs开启apche服务后,输⼊ip查看默认发布页⾯:(1)更改apche服务的端⼝号查看httpd服务的默认端⼝号:netstat -antlupe |grep httpd编辑配置⽂件:/etc/httpd/conf/httpd.conf,修改端⼝号重启httpd服务:systemctl restart httpd查看httpd服务的端⼝号:netsat -antlupe | grep httpd更改端⼝号后,输⼊ip后⽆法正常连接,原因是8080端⼝未添加在⽕墙中在防⽕墙⾥添加888端⼝号:firewall-cmd --permanent --add-port=888/tcp在不改变当前⽕墙状态的情况下刷新防⽕墙:firewall-cmd --reload输⼊IP地址:端⼝号,可以正常访问(2)修改apche的默认发布⽂件默认⽬录:cd /var/www/html在⽂件默认发布⽬录下新建⼀个⽂件index.html输⼊:http://172.25.254.144查看默认发布⽂件就是访问apache时没有指定⽂件名,即默认访问的⽂件,此⽂件可以指定多个,但有访问顺序。

apache下配置详解

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 也是合法行的。

Linux下Apache的安装与配置

Linux下Apache的安装与配置

Linux下Apache的安装与配置⼀、编译安装1、解决依赖关系⼆、后续操作1、启动httpd两种⽅法:第⼀种、/usr/local/apache/bin/apachectl start第⼆种⽅法:先修改http.pid⽂件位置打开配置⽂件增加⼀⾏vim /etc/httpd/httpd.conf 增加PidFile “/var/run/httpd.pid”为了启动httpd更加⽅便,#!/bin/bash## httpd Startup script for the Apache HTTP Server## chkconfig: - 85 15# description: Apache is a World Wide Web server. It is used to serve \# HTML files and CGI.# processname: httpd# config: /etc/httpd/conf/httpd.conf# config: /etc/sysconfig/httpd# pidfile: /var/run/httpd.pid# Source function library.. /etc/rc.d/init.d/functionsif [ -f /etc/sysconfig/httpd ]; then. /etc/sysconfig/httpdfi# Start httpd in the C locale by default.HTTPD_LANG=${HTTPD_LANG-"C"}# This will prevent initlog from swallowing up a pass-phrase prompt if# mod_ssl needs a pass-phrase from the user.INITLOG_ARGS=""# Set HTTPD=/usr/sbin/httpd.worker in /etc/sysconfig/httpd to use a server# with the thread-based "worker" MPM; BE WARNED that some modules may not# work correctly with a thread-based MPM; notably PHP will refuse to start.# Path to the apachectl script, server binary, and short-form for messages.apachectl=/usr/local/apache/bin/apachectlhttpd=${HTTPD-/usr/local/apache/bin/httpd}prog=httpdpidfile=${PIDFILE-/var/run/httpd.pid}lockfile=${LOCKFILE-/var/lock/subsys/httpd}RETVAL=0start() {echo -n $"Starting $prog: "LANG=$HTTPD_LANG daemon --pidfile=${pidfile} $httpd $OPTIONSRETVAL=$?echo[ $RETVAL = 0 ] && touch ${lockfile}return $RETVAL}stop() {echo -n $"Stopping $prog: "killproc -p ${pidfile} -d 10 $httpdRETVAL=$?echo[ $RETVAL = 0 ] && rm -f ${lockfile} ${pidfile}}reload() {echo -n $"Reloading $prog: "if ! LANG=$HTTPD_LANG $httpd $OPTIONS -t >&/dev/null; thenRETVAL=$?echo $"not reloading due to configuration syntax error"failure $"not reloading $httpd due to configuration syntax error"elsekillproc -p ${pidfile} $httpd -HUPRETVAL=$?fiecho}# See how we were called.case "$1" instart)start;;stop)stop;;status)status -p ${pidfile} $httpdRETVAL=$?;;restart)stopstart;;condrestart)if [ -f ${pidfile} ] ; thenstopstartfi;;reload)reload;;graceful|help|configtest|fullstatus)$apachectl $@RETVAL=$?;;*)echo $"Usage: $prog {start|stop|restart|condrestart|reload|status|fullstatus|graceful|help|configtest}" exit 1esacexit $RETVAL将以上代码加⼊到vim /etc/init.d/httpd中⽽后为此脚本赋予执⾏权限:chmod +x /etc/rc.d/init.d/httpd加⼊服务列表:chkconfig --add httpd给3,5启动chkconfig --level 3,5 httpd on最后加路径将 export PATH=$PATH:/usr/local/apache/binvim /etc/profile.d/httpd.sh完成后重新登录就可以了。

Linux Apache基本应用

Linux  Apache基本应用

Linux Apache基本应用配置Apache web服务器,有许多种方式,用户可通过修改主配置文件httpd.conf,对Apache服务器进行配置。

另外,也可通过图形界面配置工具对Apache服务器进行配置。

下面就来学习,通过修改httpd.conf主配置文件,对Apache服务器进行配置。

1.修改http.conf文件用户可以在终端中,输入“vi /etc/httpd/conf/httpd.conf”命令,并按【回车】键,打开该文件,如图50所示。

图50 打开配置文件在该配置文件中,找到DocumentRoot配置选项,默认网页文档主目录的路径/var/www/html,如图51所示。

图51 设置网页文档存放路径在该配置文件中,找到DirectoryIndex配置选项,默认首页文档的类型,如图52所示。

图52 设置首页文档的类型在该配置文件中,找到Listen配置选项,默认设置Apache服务器监听80端口(Listen 80),如图53所示。

图53 设置监听端口号在该配置文件中,找到ServerRoot配置选项,默认设置Apache服务器相应的配置文件存放目录(ServerRoot “/etc/httpd”),如图54所示。

图54 设置服务器根目录在该配置文件中,找到ErrorLog logs配置选项,默认设置错误日志的路径为/error_log(ErrorLog logs/error_log),如图55所示。

图55 设置错误日志路径在该配置文件中,找到CustomLog logs配置选项,默认设置访问日志为/access_log,如图56所示。

图56 设置访问日志路径在该配置文件中,找到ServerAdmin配置选项,默认设置为root@localhost,(ServerAdmin root@localhost),如图57所示。

图57 设置网络管理员的E-mail地址在该配置文件中,找到ServerName配置选项,如果用户的Apache服务器没有主机名,也可设值为用户服务器的IP地址,并让其默认监听80端口,如图58所示。

Linux下Apache目录发布及相关问题

Linux下Apache目录发布及相关问题

Apache目录发布及相关问题1.Apache目录发布1.1Apache相关文件1.2Apache相关命令1.3启动Apcahe目录浏览功能在目录/etc/httpd下创建文件夹test,且文件夹test里可多个文件,如testAlias"/etc/httpd/test "是要显示文件列表的目录,即需要发布的目录"Options Indexes"表示启用目录浏览"Order allow,deny"表示允许所有访问,除去明确拒绝的"IndexOptions Charset=UTF-8"设置字符集,以消除中文乱码"NameWidth=50"指定目录列表可以显示最长为25字节的文件/目录名点击test可以查看文件内容如下:Ps:如果需要发布其他目录(非/etc/httpd目录下),如目录/media,那么可以做如下操作:◆执行命令/usr/sbin/setenforce 0,关闭Selinux(若省略该步骤,则访问网页时会报403错误)1.4配置个人主页编辑主配置文件(/etc/httpd/conf/httpd.conf)▪(354行)注释UserDir Disable,即#UserDir Disable▪(361行)启动个人主目录名称,去掉UserDirPublic_html前面注释#▪(369-380行)启动个人用户Web站点的访问权限,去掉下面语句前面注释#浏览器输入地址:http://IP/~user,如下Ps:注意需要关闭SELinux,否则会报403错误。

(详见4.2)1.5发布默认站点下目录的内容进入默认根文档目录cd /var/www/html新建目录redhatmkdirredhat新建目录redhat下生成文件和目录touch redhat/file1 (生成文件file)mkdirredhat/dir1 (生成目录dir1)编辑主配置文件vi /etc/httpd/conf/httpd.conf主配置文件/etc/httpd/conf/httpd.conf末尾下增加配置<Directory /var/www/html/redhat>Options Indexes</Directory>tail -3 /etc/httpd/conf/httpd.conf(查看主配置文件倒数三行,即查看添加配置内容)重启Apache服务serciehttpd restart测试网页浏览器输入地址:http://IP/redhat,访问页面如下1.6配置目录的访问控制访问控制指令order deny,allow拒绝优先,默认拒绝,拒绝所有的访问(除了明确允许的)order allow,deny允许优先,默认允许,允许所有的访问(除了明确拒绝的)allow from IP允许的IP范围allow from 域名允许的域名范围allow from All允许所有deny from All拒绝所有对外发布目录主配置文件/etc/httpd/conf/httpd.conf末尾下增加配置<Directory /var/www/html/redhat>Options IndexesOrder deny,allowDeny from AllAllow from 192.168.128.128</Directory>重启Apacheserciehttpd restart测试网页1)浏览器输入地址:http://192.168.128.129/redhat,访问页面如下2)修改配置中“Allow from 192.168.128.129”后重启Apache,输入相同地址后再次访问,访问页面如下1.7配置目录的认证和授权认证指令AuthName认证名字AuthType认证类型,有两种⏹Basic,基本认证类型,所有浏览器均支持⏹Digest,摘要认证类型,部分浏览器不支持AuthUserFile认证用户文件,存放认证用户的列表文件Require valid-user授权给通过认证的所有用户Require user 用户名授权给通过认证的指定用户对外发布目录主配置文件/etc/httpd/conf/httpd.conf末尾下增加配置<Directory /var/www/html/redhat>Options IndexesAuthName“hyxu”AuthType BasicAuthUserFile file1Require valid-user</Directory>chownapache.apache /etc/httpd/file1重启Apacheserciehttpd restart测试网页1)浏览器输入地址:http://192.168.128.129/redhat,访问页面如下2)输入用户名haiyan及其密码后确定,进入如下页面1.8访问控制与认证授权结合访问控制、认证授权综合命令Satisfy any满足访问控制的条件或满足认证授权的条件,就可以访问指定页面、目录Satisfy all必须同时满足访问控制和认证授权的条件,才可以访问指定页面、目录 对外发布目录主配置文件/etc/httpd/conf/httpd.conf末尾下增加配置<Directory /var/www/html/redhat>Options IndexesOrder deny,allowDeny from AllAllow from 192.168.128.129AuthName“hyxu”AuthType Digest #必须为Digest,否则认证失败AuthUserFile file1Require valid-userSatisfy all</Directory>生成认证授权文件,同时添加用户chownapache.apache /etc/httpd/file1重启Apacheserciehttpd restart测试网页1)浏览器输入地址:http://192.168.128.129/redhat,访问页面如下2)输入用户名haiyan及其密码后确定,进入如下页面1.9 Include、.htaccess实例分割指令Include目录/文件名.conf⏹apache启动时,同时加载Include指令指定的目录下的以.conf结尾的文件⏹可以减少apache的主配置文件的容量.htaccess目录下的隐藏文件⏹可以减少apache服务的启动1.9.1Include实例查看主配置文件中配置在指定目录下生成文件并发布目录serciehttpd restart测试网页浏览器输入地址:http://192.168.128.129/hyxu,访问页面如下1.9.2.htaccess实例主配置文件中发布目录,添加使用.htaccess的指令serciehttpd restart测试网页浏览器输入地址:http://192.168.128.129/haiyan,访问页面如下2.Q&A2.1窗口最小化在面板上未能找到在面板上右击,选择“添加到面板”,打开面板管理器,找到“窗口列表”,选择它然后点击“添加”按钮就可以解决窗口最小化后消失的问题了。

Apache服务器配置

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 配置

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>设置目录的权限。

Apache配置详解

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时。

Linux——搭建Apache(httpd)服务器

Linux——搭建Apache(httpd)服务器

Linux——搭建Apache(httpd)服务器⼀、基本概念Apache(或httpd)是Internet上使⽤最多的Web服务器技术之⼀,使⽤的传输协议是http超⽂本传输协议(⼀个基于超⽂本的协议),⽤于通过⽹络连接来发送和接受对象。

有两个版本:http:超⽂本传输协议,通过线路以明⽂形式发送,默认情况下使⽤80/TCP(也可以使⽤其他端⼝)https:经TLS/SSL安全加密的超⽂本传输协议,默认情况下使⽤端⼝443/TCP⼆、了解Apache的配置⽂件1、配置⽂件的分类在Linux系统中配置服务,其实就是修改服务的配置⽂件,httpd服务程序的主要配置⽂件及存放位置如下:配置⽂件的名称存放位置服务⽬录/etc/httpd主配置⽂件/etc/httpd/conf/httpd.conf虚拟主机配置⽂件/etc/httpd/conf.d⽇志⽂件/etc/httpd/logs⽹站数据⽬录/var/www/html2、主配置⽂件的重要参数主配置⽂件/etc/httpd/conf/httpd.conf参数⽤途ServerRoot服务⽬录ServerAdmin管理员邮箱User运⾏服务的⽤户Group运⾏服务的⽤户组ServerName⽹站服务器的域名DocumentRoot⽂档根⽬录(⽹站数据⽬录)Directory⽹站数据⽬录的权限Listen监听的IP地址与端⼝号DirectoryIndex默认的索引页页⾯ErrorLog错误⽇志⽂件CustomLog访问⽇志⽂件Timeout⽹页超时时间,默认为300秒3、Directory标签<Directory "/var/www/html">AllowOverride None #设置.htaccess⽂件中的指令类型,None表⽰禁⽌使⽤.htaccess,该参数⼀般不改Require all granted #设置权限,默认开启所有客户机访问权限</Directory>三、如何配置Apache服务器⾸先准备:主机名、⽹络、yum源1、更改主机名:[root@localhost ~]# hostnamectl set-hostname $主机名[root@localhost ~]# bash #环境变量重载2、配置⽹络(1)虚拟交换机、⽹络适配器选择仅主机模式,并且配置为192.168.100.0⽹段;(2)编辑⽹络配置⽂件:[root@localhost ~]# vim /etc/sysconfig/network-scripts/ifcfg-ens33修改: BOOTPROTO=static #改为静态IP地址ONBOOT=yes #改为开机⾃启IPADDR=192.168.100.10PREFIX=24 或者 NETMASK=255.255.255.0(3)重启⽹络服务:[root@localhost ~]# systemctl restart network3、配置yum源(1)先在VMware⾥⾯把系统镜像⽂件连接到虚拟机的光驱上;(2)挂载光驱⾥的镜像:[root@localhost ~]# mount /dev/cdrom /media(3)修改yum源配置⽂件:[root@localhost ~]# vim /etc/yum.repos.d/local.repo[rhel]name=rhelbaseurl=file:///mediaenabled=1gpgcheck=0(4)清空yum源缓存信息:[root@localhost ~]# yum clean all(5)检索当前yum源信息:[root@localhost ~]# yum repolist任务⼀:配置简单的httpd服务1、安装httpd服务[root@server ~]# yum -y install httpd2、启动httpd服务[root@server ~]# systemctl restart httpd[root@server ~]# systemctl enable httpd3、配置防⽕墙[root@server ~]# firewall-cmd --permanent --add-service=http[root@server ~]# firewall-cmd --reload4、关闭SELinux[root@server ~]# setenforce 05、客户端测试[root@client ~]# firefox http://IP地址或者 curl http://IP地址任务⼆:配置基于⽤户的个⼈⽹站注意:该⽤户必须在Linux系统中存在1、新建⼀个⽤户(⽹站基于该⽤户)[root@server ~]# useradd user0[root@server ~]# passwd user02、修改⽤户的家⽬录权限,使其他⽤户具有读取和执⾏的权限[root@server ~]# chmod -R 705 /home/user03、创建存放⽤户个⼈主页空间的⽬录,写user0的⽹页⽂件[root@server ~]# mkdir /home/user0/public_html[root@server ~]# cd /home/user0/public_html[root@server ~]# echo "this is user0's web">>index.html4、修改基于⽤户的httpd配置⽂件[root@server ~]# vim /etc/httpd/conf.d/userdir.conf修改: UserDir enabled #开启,表⽰让httpd服务程序开启个⼈⽤户主页功能UserDir public_html #去注释,UserDir参数表⽰⽹站数据在⽤户家⽬录中的保存⽬录名称5、配置防⽕墙(同上)[root@server ~]# firewall-cmd --permanent --add-service=http[root@server ~]# firewall-cmd --reload6、修改selinux权限[root@server ~]# getsebool -a|grep home[root@server ~]# setsebool httpd_enable_homedirs on7、重启服务[root@server ~]# systemctl restart httpd8、客户端测试[root@client ~]# firefox http://IP地址/~username 或者curl http://IP地址/~username任务三:配置基于域名访问的虚拟主机1、新建虚拟主机的⽹页⽂件[root@server ~]# mkdir /www/one /www/two[root@server ~]# cd /www/one[root@server ~]# echo "this is a web for virtual host one">>index.html[root@server ~]# cd /www/two[root@server ~]# echo "this is a web for virtual host two">>index.html[root@server ~]# chmod o+x /www2、配置虚拟主机的⽂件[root@server ~]# cd /etc/httpd/conf.d[root@server ~]# vim vhost.conf<Directory /www/one> #设置⽹站⽬录权限Require all granted #开启所有客户机访问权限</Directory><VirtualHost 192.168.100.10> #虚拟主机ServerName #定义服务器名称DocumentRoot /www/one/ #⽹站数据⽬录</VirtualHost><Directory /www/two>Require all granted</Directory><VirtualHost 192.168.100.11>ServerName DocumentRoot /www/two/</VirtualHost>3、做域名解析⽂件server/client[root@server ~]# vim /etc/hosts192.168.100.10 192.168.100.11 4、配置防⽕墙(同上)[root@server ~]# firewall-cmd --permanent --add-service=http[root@server ~]# firewall-cmd --reload5、修改虚拟主机⽹页⽂件的selinux上下⽂类型[root@server ~]# semanage fcontext -a -t httpd_sys_content_t '/www(/.*)?'[root@server ~]# restorecon -RFv /www6、重启服务[root@server ~]# systemctl restart httpd任务四:配置基于端⼝访问的虚拟主机1——新建虚拟主机的⽹页⽂件[root@server ~]# mkdir /www/8088[root@server ~]# echo "this is a web for port 8088 ">>index.html[root@server ~]# mkdir /www/8089[root@server ~]# echo "this is a web for port 8089 ">>index.html2——配置虚拟主机的⽂件[root@server ~]# cd /etc/httpd/conf.d[root@server ~]# vim vhost.conf<Directory /www/8088/>Require all granted</Directory><virtualHost 192.168.100.10:8088>DocumentRoot /www/8088/</virtualHost><Directory /www/8089/>Require all granted</Directory><virtualHost 192.168.100.10:8089>DocumentRoot /www/8089/</virtualHost>3、配置防⽕墙[root@server ~]# firewall-cmd --permanent --zone=public --add-port=8089/tcp[root@server ~]# firewall-cmd --permanent --zone=public --add-port=8088/tcp[root@server ~]# firewall-cmd --reload4、关闭SELinux[root@server ~]# setenforce 05、重启服务[root@server ~]# systemctl restart httpd6、使⽤浏览器访问任务五:配置基于TLS加密的虚拟主机注意:经TLS/SSL安全加密的超⽂本传输协议,默认情况下使⽤端⼝443/TCP 1、安装TLS加密软件,⽹站内容不⽤明⽂传输[root@server ~]# yum -y install mod_ssl2、⽣成密钥[root@server ~]# openssl genrsa >tlsweb.key3、⽣成证书请求⽂件[root@server ~]# openssl req -new -key tlsweb.key > tlsweb.csr4、⽣成证书⽂件[root@server ~]# openssl req -x509 -days 365 -key tlsweb.key -in tlsweb.csr >tlsweb.crt5、修改ssl.conf配置⽂件[root@server ~]# vim /etc/httpd/conf.d/ssl.confSSLCertificateFile /etc/pki/tls/certs/tlsweb.crtSSLCertificateKeyFile /etc/pki/tls/private/tlsweb.key6、把证书⽂件拷贝到ssl.conf配置⽂件⾥的对应路径下⾯[root@server ~]# cp tlsweb.crt /etc/pki/tls/certs/7、把秘钥⽂件拷贝到ssl.conf配置⽂件⾥的对应路径下⾯[root@server ~]# cp tlsweb.key /etc/pki/tls/private/。

Apache主配置文件httpd.conf详解

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的配置及小经验总结

apache的配置及小经验总结
$sql="insert into table values ";
///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 ,将此行前边的#去掉。

Linux1 WEB服务器 Apache基本应用

Linux1 WEB服务器  Apache基本应用

Linux1 WEB服务器Apache基本应用在Red Hat Enterprise 5.4中配置Apache web服务器,有许多种方式,用户可通过修改主配置文件httpd.conf,对Apache服务器进行配置。

另外,也可通过图形界面配置工具对Apache服务器进行配置。

下面就来学习,通过修改httpd.conf主配置文件,对Apache服务器进行配置。

1.修改http.conf文件用户可以在终端中,输入“vi /etc/httpd/conf/httpd.conf”命令,并按【回车】键,打开该文件,如图7-54所示。

图7-54 打开配置文件在该配置文件中,找到DocumentRoot配置选项,默认网页文档主目录的路径/var/www/html,如图7-55所示。

图7-55 设置网页文档存放路径在该配置文件中,找到DirectoryIndex配置选项,默认首页文档的类型,如图7-56所示。

图7-56 设置首页文档的类型提示如果用户要在Apache服务器上挂载php或jsp类型的网页,可以在该选项后面添加index.hph和index.jsp参数,但前提是该服务器必须支持该类型的网站。

在该配置文件中,找到Listen配置选项,默认设置Apache服务器监听80端口(Listen 80),如图7-57所示。

图7-57 设置监听端口号在该配置文件中,找到ServerRoot配置选项,默认设置Apache服务器相应的配置文件存放目录(ServerRoot “/etc/httpd”),如图7-58所示。

图7-58 设置服务器根目录在该配置文件中,找到ErrorLog logs配置选项,默认设置错误日志的路径为/error_log(ErrorLog logs/error_log),如图7-59所示。

图7-59 设置错误日志路径在该配置文件中,找到CustomLog logs配置选项,默认设置访问日志为/access_log,如图7-60所示。

httpd.conf配置完美详解

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下apache2.2.15+tomcat6.0.26+jdk-6u20安装配置文档

Linux下apache2.2.15+tomcat6.0.26+jdk-6u20安装配置文档

apache2.2.15+tomcat6.0.26+jdk-6u20+tomcat-connectors-1.2.30+ apr-1.4.2.tar.gz+ apr-util-1.3.9.tar.gz[root@hostserver Tools]# lltotal 125304-rw-r--r-- 1 root root 6123410 Apr 19 06:16 apache-tomcat-6.0.26.tar.gz-rw-r--r-- 1 root root 6593633 Apr 19 06:16 httpd-2.2.15.tar.gz-rw-r--r-- 1 root root 9280000 Apr 19 06:16 apr-1.4.2.tar.gz-rw-r--r-- 1 root root 7730000 Apr 19 06:16 apr-util-1.3.9.tar.gz-rw-r--r-- 1 root root 84796967 Apr 19 06:18 jdk-6u20-linux-i586.bin-rw-r--r-- 1 root root 29050568 Jan 23 12:13 mysql-5.1.30.tar.tar-rw-r--r-- 1 root root 1566749 Apr 19 06:16 tomcat-connectors-1.2.30-src.tar.gz[root@hostserver Tools]# cp jdk-6u20-linux-i586.bin /usr/local/[root@hostserver Tools]# cp httpd-2.2.15.tar.gz /usr/local/[root@hostserver Tools]# cp apache-tomcat-6.0.26.tar.gz /usr/local/[root@hostserver Tools]# cp tomcat-connectors-1.2.30-src.tar.gz /usr/local/[root@hostserver Tools]# cp mysql-5.1.30.tar.tar /usr/local/[root@hostserver Tools]# cd /usr/local/[root@hostserver Tools]# cd /usr/local/所有包都在此目录下[root@hostserver local]# ll-rw-r--r-- 1 root root 84796967 Apr 19 07:33 jdk-6u20-linux-i586.bin-rw-r--r-- 1 root root 6593633 Apr 19 07:33 httpd-2.2.15.tar.gz-rw-r--r-- 1 root root 6123410 Apr 19 07:33 apache-tomcat-6.0.26.tar.gz-rw-r--r-- 1 root root 1566749 Apr 19 07:33 tomcat-connectors-1.2.30-src.tar.gz-rw-r--r-- 1 root root 29050568 Apr 19 07:33 mysql-5.1.30.tar.tar第一步:安装JDK[root@hostserver local]# chmod 755 jdk-6u20-linux-i586.bin[root@hostserver local]# ./jdk-6u20-linux-i586.bin……Please enter "yes" or "no".Do you agree to the above license terms? [yes or no]输入Yes,并按[enter]键.Press Enter to continue.....再次按[enter]键,则JDK安装完成。

linux apache 配置 http和https 访问

linux apache 配置 http和https 访问

linux apache 配置http和https 访问1、安装openssl:#tar zxvf openssl-0.9.81.tar.gz#cd openssl-0.9.81#./config#make#make install2、安装apache:#tar zxvf httpd-2.0.63.tar.gz#cd httpd-2.0.63#./configure --prefix=/usr/local/apache/httpd --enable-ssl=static --with-ssl=/usr/local/ssl#make#make install此步骤在/apache/httpd目录中安装httpd服务(通过参数--prefix指定),同时使用--with-ssl指定刚才所安装OpenSSL的路径,用于将mod_ssl静态的编译到httpd服务中。

修改3、生成证书:openssl genrsa 1024 > server.keyopenssl req -new -key server.key > server.csr填写相关信息:Country Name (2 letter code) [GB]:CNState or Province Name (full name) [Berkshire]:BEIJINGLocality Name (eg, city) [Newbury]:BEIIJINGOrganization Name (eg, company) [My Company Ltd]:TESTOrganizational Unit Name (eg, section) []:TESTCommon Name (eg, your name or your server's hostname) []:TESTEmail Address []:TEST@openssl req -x509 -days 365 -key server.key -in server.csr > server.crt4、配置ssl:修改conf/httpd.conf文件将httpd.conf 中的Include conf/extra/httpd-ssl.conf 打开修改conf/extra/httpd-ssl.conf文件找到SSLCertificateFile 和SSLCertificateKeyFile 项将上面生成的测试证书路径填写完整5、配置域名:修改conf/httpd.conf文件将httpd.conf 中的Include conf/extra/httpd-vhost.conf 打开修改conf/extra/httpd-vhost.conf 文件配置需要访问的域名注:由于证书为我们自己测试创建,如有需要应到指定公司去认证。

linux下安装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服务器配置文件

• 全局环境配置 • 主服务器配置 • 虚拟主机配置
配置指令的作用域
• 配置指令作用范围可以是全局或只能在容器 • server config、virtual host、directory、 .htaccess
查看指令的 作用域
• Apache 手册中指令的作用域(Context)项 • # httpd -L 或 apachectl -L
配置文件的基本语法
3
每一行包含一个指令,在行尾使用反斜杠”\”可以表示续行
配置文件中的指令不区分大小写,但是指令的参数 (argument) 通 常区分大小写
以 ”#” 开头的行被视为注解并在读取时被忽略。注解不能出现在 指令的后边
空白行和指令前的空白字符将在读取时被忽略,因此可以采用缩进 以保持配置层次的清晰
• # httpd -L 或 apachectl -L
Apache的服务器配置文件标识指令
8
ServerName
• 服务器用于辨识自己的主机名和端口号
ServerAdmin
• 服务器返回给客户端的错误信息中包含的管理员邮件地址
ServerSignature
• 配置服务器生成页面的页脚的信息
ServerTokens
DocumentRoot
组成网络上可见的主文档树的根目录
ErrorLog
存放错误日志的位置
CustomLog
访问日志文件的位置
LockFile
Apache 使用的锁文件的位置
PidFile
设置服务器用于记录父进程(监控进程) PID 的文件
Apache Profork MPM 的相关指令
10
StartServers:启动时服务器启动的进程数
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

Apache的配置文件http.coif参数含义详解1.基本配置: (2)2.服务器的优化(MPM: Multi-Processing Modules) (3)3.HTTP返头回信息配置: (5)4.持久性连接设置 (5)5.别名设置 (5)6.CGI设置 (6)7.个人主页的设置(public_html) (6)8.日志的设置 (6)(1)错误日志的设置 (6)(2)访问日志设置 (6)9.下面是一段访问日志的实例: (7)10.虚拟主机的配置 (8)(1)基于IP地址的虚拟主机配置 (8)(2) 基于IP和多端口的虚拟主机配置 (8)(3)单个IP地址的服务器上基于域名的虚拟主机配置: (9)(4)在多个IP地址的服务器上配置基于域名的虚拟主机: (10)(5)在不同的端口上运行不同的站点 (10)(6)基于域名和基于IP的混合虚拟主机的配置: (11)11.SSL加密的配置 (12)(1) conf/ssl.conf 配置文件中的主要参数配置如下: (12)(2) 创建和使用自签署的证书: (13)(3) 创建自己的CA(认证证书),并使用该CA来签署服务器的证书。

(13)Apache的配置由httpd.coif文件配置,因此下面的配置指令都是在httpd.coif文件中修改。

主站点的配置(基本配置)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#optionsAllowOverride:允许存在于.htaccess文件中的指令类型(.htaccess文件名是可以改变的,其文件名由AccessFileName指令决定):None:当AllowOverride被设置为None时。

不搜索该目录下的.htaccess文件(可以减小服务器开销)。

All: 在.htaccess文件中可以使用所有的指令。

其他的可用值及含义(如:Options FileInfo AuthConfig Limit等),请参看:/Apache/ApacheManual/mod/core.html#AllowOverrideOrder:控制在访问时Allow和Deny两个访问规则哪个优先:Allow:允许访问的主机列表(可用域名或子网,例如:Allow from 192.168.0.0/16)。

Deny:拒绝访问的主机列表。

更详细的用法可参看:/Apache/ApacheManual/mod/mod_access.html #orderDirectoryIndex index.html index.htm index.PHP #主页文件的设置(本例将主页文件设置为:index.html,index.htm和index.php)2.服务器的优化(MPM: Multi-Processing Modules)apache2主要的优势就是对多处理器的支持更好,在编译时同过使用–with-mpm选项来决定apache2的工作模式。

如果知道当前的apache2使用什么工作机制,可以通过httpd -l 命令列出apache的所有模块,就可以知道其工作方式:prefork:如果httpd -l列出prefork.c,则需要对下面的段进行配置:<IfModule prefork.c>StartServers 5 #启动apache时启动的httpd进程个数。

MinSpareServers 5#服务器保持的最小空闲进程数。

MaxSpareServers 10 #服务器保持的最大空闲进程数。

MaxClients 150 #最大并发连接数。

MaxRequestsPerChild 1000 #每个子进程被请求服务多少次后被kill掉。

0表示不限制,推荐设置为1000。

</IfModule>在该工作模式下,服务器启动后起动5个httpd进程(加父进程共6个,通过ps -ax|grep httpd 命令可以看到)。

当有用户连接时,apache会使用一个空闲进程为该连接服务,同时父进程会fork一个子进程。

直到内存中的空闲进程达到MaxSpareServers。

该模式是为了兼容一些旧版本的程序。

我缺省编译时的选项。

worker:如果httpd -l列出worker.c,则需要对下面的段进行配置:<IfModule worker.c>StartServers 2 #启动apache时启动的httpd进程个数。

MaxClients 150 #最大并发连接数。

社区论坛MinSpareThreads 25 #服务器保持的最小空闲线程数。

MaxSpareThreads 75 #服务器保持的最大空闲线程数。

ThreadsPerChild 25 #每个子进程的产生的线程数。

MaxRequestsPerChild 0 #每个子进程被请求服务多少次后被kill掉。

0表示不限制,推荐设置为1000。

</IfModule>该模式是由线程来监听客户的连接。

当有新客户连接时,由其中的一个空闲线程接受连接。

服务器在启动时启动两个进程,每个进程产生的线程数是固定的(ThreadsPerChild决定),因此启动时有50个线程。

当50个线程不够用时,服务器自动fork一个进程,再产生25个线程。

perchild:如果httpd -l列出perchild.c,则需要对下面的段进行配置:<IfModule perchild.c>NumServers 5 #服务器启动时启动的子进程数StartThreads 5 #每个子进程启动时启动的线程数MinSpareThreads 5 #内存中的最小空闲线程数MaxSpareThreads 10 #最大空闲线程数MaxThreadsPerChild 2000 #每个线程最多被请求多少次后退出。

0不受限制。

MaxRequestsPerChild 10000 #每个子进程服务多少次后被重新fork。

0表示不受限制。

</IfModule>该模式下,子进程的数量是固定的,线程数不受限制。

当客户端连接到服务器时,又空闲的线程提供服务。

如果空闲线程数不够,子进程自动产生线程来为新的连接服务。

该模式用于多站点服务器。

3.HTTP返头回信息配置:ServerTokens Prod #该参数设置http头部返回的apache版本信息,可用的值和含义如下:Prod:仅软件名称,例如:apacheMajor:包括主版本号,例如:apache/2Minor:包括次版本号,例如:apache/2.0Min:仅apache的完整版本号,例如:apache/2.0.54OS:包括操作系统类型,例如:apache/2.0.54(Unix)Full:包括apache支持的模块及模块版本号,例如:Apache/2.0.54 (Unix) mod_ssl/2.0.54 OpenSSL/0.9.7gServerSignature Off #在页面产生错误时是否出现服务器版本信息。

推荐设置为Off4.持久性连接设置KeepAlive On #开启持久性连接功能。

即当客户端连接到服务器,下载完数据后仍然保持连接状态。

MaxKeepAliveRequests 100 #一个连接服务的最多请求次数。

KeepAliveTimeout 30 #持续连接多长时间,该连接没有再请求数据,则断开该连接。

缺省为15秒。

5.别名设置对于不在DocumentRoot指定的目录内的页面,既可以使用符号连接,也可以使用别名。

别名的设置如下:Alias /download/ "/var/www/download/" #访问时可以输入:/download/<Directory "/var/www/download"> #对该目录进行访问控制设置Options Indexes MultiViewsAllowOverride AuthConfigOrder allow,denyAllow from all</Directory>6.CGI设置scrīptAlias /cgi-bin/ "/mnt/software/apache2/cgi-bin/" # 访问时可以:/cgi-bin/ 。

但是该目录下的CGI脚本文件要加可执行权限!<Directory "/usr/local/apache2/cgi-bin"> #设置目录属性AllowOverride NoneOptions NoneOrder allow,denyAllow from all</Directory>7.个人主页的设置(public_html)UserDir public_html (间用户的主页存储在用户主目录下的public_html目录下URL/~bearzhang/file.html 将读取/home/bearzhang/public_html/file.html 文件)chmod 755 /home/bearzhang #使其它用户能够读取该文件。

相关文档
最新文档