转自:http://blog.csdn.net/hursing/article/details/18730813

apache原指http server程序,后来成为了该程序的组织名,所以把原程序名定成了httpd,在2.0版后又叫apache2。目前在windows上还叫 httpd,在debian/ubuntu/linux mint系列的linux上,程序名是apache2。所以网上说httpd的资料,对apache2是部分适用的。官网本身也用httpd的说法,可以 理解为httpd是产品名,apache2的可执行程序名。

使用 sudo apt-get install apache2 就可以安装,我的linux mint装的是2.2版,Ubuntu13装的是2.4版,两者还有有点差别的。官方有指导文档说从2.2升级到2.4要做什么。http://httpd.apache.org/docs/2.4/upgrading.html。对用户来说最直接的就是模块数和名字有不同、配置文件位置有不同。

把网站根目录改去用户分区,可避免修改个文件都要root权限。方法:

2.2版:

/etc/apache2/sites-enabled/default
修改 DocumentRoot,并修改对应写有原路径(默认是/var/www)的Directory标签,即要改两处。DocumentRoot末尾
不要加 / ,Directory标签要加 / 。

2.4版:

/etc/apache2/sites-enabled/000-default.conf 修改 DocumentRoot,

/etc/apache2/apache2.conf 修改对应的Directory标签

(以上两种版本的sites-enabled下的配置文件名可能和这里的例子不同,各发行版会有自己的命名)

修改任何设置后,用命令sudo service apache2 restart重启服务。转载请注明出处:http://blog.csdn.net/hursing

/etc/apache2/envvars
是apache程序的参数配置文件,包括log路径,程序使用的用户名等。默认的log位置:/var/log/apache2/下有错误日志
error.log和访问日志access.log。这些配置都会export出来, service
apache2在运行前会source envvars文件。如果手动运行apache2,就应该自己先source,否则会报一些参数未设置。

因为apache2在/usr/bin/下,所以命令行可在任何路径下使用apache2命令。 apache2 -h会列出可用的命令。有用的:

-v 查看版本

-V 查看编译时的设置

-l 查看编译时就集成的模块

-L 查看可用的配置文件指令

-t 检查所有配置文件是否有语法错误

/etc/apache2/mods-available/下表示可用的模块,load后缀存放模块的路径,conf后缀表示该模块的配置。

/etc/apache2/mods-enabled/下表示已启用的模块,主配置文件apache2.conf会引用到此目录的所有文件。此目录
下全是软链接,可用ls
-l看出来。把/etc/apache2/mods-available/下的文件软链接到/etc/apache2/mods-enabled/就会启
用对应的模块。

配置文件中 IfModule xxx 标签表示xxx模块启用的话才加入里面的参数

apache2有多种并发处理模型MPM,可查看http://httpd.apache.org/docs/current/mpm.html了解详情。默认是perfork模型,每个并发处理机都在一个独立进程里,其配置参数直接影响并发处理的性能。

2.2版:

打开/etc/apache2/apache2.conf,找到<IfModule mpm_prefork_module>标签

StartServers          启动程序时就启动多少个server进程
MinSpareServers       最小空闲server数
MaxSpareServers      最大空闲server数
MaxRequestsPerChild   每个server最多接受多少次请求。达到后就退出,这样可避免内存泄露。设为0则不限。

2.4版:

修改/etc/apache2/mods-enabled/mpm_perfork.conf,比2.2多一个参数。MaxRequestWorkers,最多的server数。如果这个数想填超过256,则要在之前加个参数MaxClients xxx。 http://httpd.apache.org/docs/current/mod/mpm_common.html有更多介绍。

以上可通过命令ps -ef | grep apache2 | wc -l 知道当前有几个进程在运行。(实际为那个数字-2,因为会算上命令本身和service主进程)

apache2.conf里面的参数属于core module,这4个常用:

Timeout 超时时间
KeepAlive On/Off 启动或关闭KeepAlive
MaxKeepAliveRequests 最大的KeepAlive连接数
KeepAliveTimeout 最大的KeepAlive时间,超时将关闭连接

Linux Apache2 配置介绍的更多相关文章

  1. Window VNC远程控制LINUX:VNC详细配置介绍

    Window VNC远程控制LINUX:VNC详细配置介绍 //---------------------------------------vnc linux下的详细配置 1.VNC的启动/停止/重 ...

  2. LINUX服务器搭建和常用配置介绍

    服务器搭建 : 搭建私有CA服务器 : http://www.cnblogs.com/zhaojiedi1992/p/zhaojiedi_linux_011_ca.html搭建samba服务器 : h ...

  3. Centos 7.3下 Linux For SQL Server安装及配置介绍

    Centos 7.3下 Linux For SQL Server安装及配置介绍 高文龙关注13人评论2828人阅读2017-03-05 21:46:21 Centos 7.3下Linux For SQ ...

  4. Linux网络配置和网络诊断命令介绍

    方法/步骤 1 在接下来的讲解中,讲解的Linux网络配置和网络诊断的命令有: ifconfig.ping.netstat.traceroute.dig和nslookup.host.hostname. ...

  5. Linux实战教学笔记07:Linux系统目录结构介绍

    第七节 Linux系统目录结构介绍 标签(空格分隔):Linux实战教学笔记 第1章 前言 windows目录结构 C:\windows D:\Program Files E:\你懂的\精品 F:\你 ...

  6. Linux网络配置基础

    linux网络配置常见有两种:桥接模式(Bridge)与NAT模式,还有一种Host-Only模式由于其局限性通常被舍弃就不加以说明了,下面我们介绍下桥接模式(Bridge)和NAT模式. 桥接模式( ...

  7. Linux性能工具介绍

    l  Linux性能工具介绍 p  CPU高 p  磁盘I/O p  网络 p  内存 p  应用程序跟踪 l  操作系统与应用程序的关系比喻为“唇亡齿寒”一点不为过 l  应用程序的性能问题/功能问 ...

  8. Linux下配置PHP开发环境

    转载于: http://www.uxtribe.com/php/405.html 该站下有系列PHP文章. 在Linux下搭建PHP环境比Windows下要复杂得多.除了安装Apache,PHP等软件 ...

  9. 一步一步教你如何在linux下配置apache+tomcat(转)

    一步一步教你如何在linux下配置apache+tomcat   一.安装前准备. 1.   所有组件都安装到/usr/local/e789目录下 2.   解压缩命令:tar —vxzf 文件名(. ...

随机推荐

  1. 怎样让pl sql developer 界面视图复位

    tools->preferences->user interface->appearance->reset docking工具-首选项-用户界面-外观-复位停放

  2. OpenGL ES着色器语言之语句和结构体(官方文档第六章)内建变量(官方文档第七、八章)

    OpenGL ES着色器语言之语句和结构体(官方文档第六章) OpenGL ES着色器语言的程序块基本构成如下: 语句和声明 函数定义 选择(if-else) 迭代(for, while, do-wh ...

  3. boost库之graph入门

    #include <boost/graph/undirected_graph.hpp> #include <boost/graph/adjacency_list.hpp> us ...

  4. Swift 常用字符串操作

    原文链接:http://www.jianshu.com/p/52e7580166ff 版本2:增加了Swift 2.0的语法,与Swift 1.2的语法相比,主要是:advance方法变成了advan ...

  5. cc2530学习笔记

    case KEY_CHANGE://按键事件 case AF_INCOMING_MSG_CMD://接收数据事件,调用函数AF_DataRequest()接收数据 case ZDO_STATE_CHA ...

  6. Bootstrap学习 - 全局CSS样式

    栅格Grid  <!-行(row)”必须包含在 .container (固定宽度)或 .container-fluid (100% 宽度)中-> <div class="c ...

  7. Problem A: 小火山的跳子游戏 多校训练2(小火山专场)(周期)

    题目链接:http://acm.zzuli.edu.cn/zzuliacm/problem.php?cid=1158&pid=0 zzuli 1905  题意:如果k=1的话是1,2,3,4. ...

  8. 多校 Robot Motion

    题目链接:http://acm.hust.edu.cn/vjudge/contest/124435#problem/J 密码:acm Sample Input NEESWE WWWESS SNWWWW ...

  9. struts1,struts2,hibernate,spring的运行原理结构图

    一.struts1运行原理 1.初始化:struts框架的总控制器ActionServlet是一个Servlet,它在web.xml中配置成自动启动的Servlet,在启动时总控制器会读取配置文件(s ...

  10. ActiveMQ的配置与使用

    1.什么是ActiveMQ MQ全称为Message Queue, 消息队列(MQ)是一种应用程序对应用程序的通信方法.应用程序通过写和检索出入列队的针对应用程序的数据(消息)来通信,而无需专用连接来 ...