Apache的基本配置

1.监听套接字[ip : port]

2.实现持久连接(keep alive)

3.MPM模块

命令行中执行

core.c        :  核心模块
prefork.c    :  prefrok模块
http_core.c:  http核心模块
mod_so.c   :  支持动态DSO机制模块

注:

httpd –l :显示支持的非DSO模块

httpd -m:显示已装载的DSO模块

prefork模型的参数

<IfModule prefork.c>
        StartServers                8         在启动httpd的默认启动的子进程数
        MinSpareServers         5         httpd主进程维持最少空闲子进程数
        MaxSpareServers        20       httpd主机厂维持的最大空闲子进程数
        ServerLimit                  256      同一(并发)时间允许的最大活动进程数
        MaxClients                   256      并发请求的最大值
        MaxRequestsPerChild  4000   在每个子进程的生命周期内所能够接收的请求数
    </IfModule>

worker模型的参数

<IfModule worker.c>
        StartServers                4        在启动httpd的时候,所启动的子进程数
        MaxClients                   300    能接收的最大并发请求数
        MinSpareThreads        25      每个子进程所维护最小线程数
        MaxSpareThreads       75      每个子进程所维护最大线程数
        ThreadsPerChild         25      每个子进程所能产生的线程数
        MaxRequestsPerChild 100    每个线程在生命周期内所能够处理的请求数量,0表示不做限制
    </IfModule>

4.DSO动态装载模块

方式:LoadModule  ModuleName  /path/to/Module(是相对路径,相对ServerRoot)

例子:装载PHP模块

LoadModule  php5_module  /etc/httpd/modules/php5_module.so(在配置文件修改/etc/httpd/conf/httpd.conf)

5.网站根目录

DocumentRoot /path/to/somewhere

默认位置:/var/www/html

注:如果修改网站根目录,必须保证Apache对此目录有读权限

6.网页访问属性

设置用户访问指定目录中的文件的时候的属性

<Directory "/path/to/somewhere">
    Option               访问控制类选项
    AllowOverride    设置apache的配置文件是否可以被另个覆盖
    Order
    allow
</Directory>

常用AllowOverride:none不允许,all允许,authconfig表示使用基于用户的方式来做认证

7.默认文档

DirectoryIndex

8.用户目录

让每个用户可以在自己家目录下创建个人网站

<IfModule mod_userdir.c>
    UserDir disabled      禁止个人用户创建自己的站点
    #UserDir public_html  指定目录名
</IfModule>

9.日志功能

日志存放位置:/var/log/httpd

定义访问日志

CustomLog "/path/to/logFile" FormatName
logFormat FormatString FormatName
%h: 记录客户端地址
%l:远程登录名,通常 -
%u:用身份认证的时候显示用户名,-
%t:收到客户端请求的时间
%r:请求报文的起始行
%(user-agent)
%(refer)

例子:

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

10.路径别名

Alias /alias/ /path/to/somewhere

11.设置默认字符集

AddDefaultChareset

12.CGI脚本别名

CGI:Common Gateway Interface

CGI:执行脚本,将执行脚本结果返回给用户

脚本程序:
遵循cgi
Content-Type:text/html
脚本具有执行权限(SUID,SGID)
将脚本保存在特定目录中
mod_alias
mod_cgi
定义脚本别名
ScriptAlias  /cgi-bin/ "/var/www/cgi-bin/"

Author:潇湘雨错

Apache(二)的更多相关文章

  1. The server of Apache (二)——apache服务客户端验证

    一.确定网站名称.IP地址 地址为: 192.168.1.1   域名为: www.benet.com 二.配置可用的DNS域名服务或者修改本地hosts记录 ~] # vim /etc/hosts ...

  2. CentOS 6.5系统安装配置LAMP(Apache+PHP5+MySQL)服务器环境

    安装篇: 一.安装Apache yum install httpd #根据提示,输入Y安装即可成功安装 /etc/init.d/httpd start#启动Apache 备注:Apache启动之后会提 ...

  3. CentOS 6.6安装配置LAMP服务器(Apache+PHP5+MySQL)

    准备篇: CentOS 6.6系统安装配置图解教程 http://www.osyunwei.com/archives/8398.html 1.配置防火墙,开启80端口.3306端口 vi /etc/s ...

  4. 在Mac下配置php开发环境:Apache+php+MySql

    /private/etc/apache2/httpd.conf 一.启动Apache sudo apachectl start sudo apachectl -v   可以查看到Apache的版本信息 ...

  5. CentOS 6.4安装配置LAMP服务器(Apache+PHP5+MySQL)

    这篇文章主要介绍了CentOS 6.4安装配置LAMP服务器(Apache+PHP5+MySQL)的方法,需要的朋友可以参考下 文章写的不错,很详细:IDO转载自网络: 准备篇: 1.配置防火墙,开启 ...

  6. CentOS 6.4下通过YUM快速安装配置LAMP服务器(Apache+PHP5+MySQL)

    准备篇: 1.配置防火墙,开启80端口.3306端口vi /etc/sysconfig/iptables-A INPUT -m state --state NEW -m tcp -p tcp --dp ...

  7. CentOS 6.3 安装以及配置Apache php mysql

    准备篇: 1.配置防火墙,开启80端口.3306端口 vi /etc/sysconfig/iptables -A INPUT -m state –state NEW -m tcp -p tcp –dp ...

  8. linux下安装Apache(https) 服务器证书安装配置指南

    一.  安装准备 1.    安装Openssl 要使Apache支持SSL,需要首先安装Openssl支持.推荐下载安装openssl-0.9.8k.tar.gz   下载Openssl:http: ...

  9. 阿里云服务器CentOS 5.7(64位)安装配置LAMP服务器(Apache+PHP5+MySQL)

    一.快速安装Apache+PHP5+MySql ----------------------------------------------------- 补充:由于163的yum源上只有php5.1 ...

  10. CentOS 6.3安装配置LAMP服务器(Apache+PHP5+MySQL)

    准备篇: 1.配置防火墙,开启80端口.3306端口 vi /etc/sysconfig/iptables -A INPUT -m state --state NEW -m tcp -p tcp -- ...

随机推荐

  1. AndroidStudio快捷键汇总

    最近开始全面转向Android Studio开发了,经常要去查快捷键,索性汇总下,自己方便查找 IDE 按键 说明 F1 帮助 Alt(Option)+F1 查找文件所在目录位置 Alt(Option ...

  2. JNI总结(一)

    JNI 是 Java平台中的一个强大特性.应用程序能够通过 JNI把 C/C++代码集成进 Java程序中.通过 JNI.开发人员在利用 Java平台强大功能的同一时候,又不必放弃对原有代码的投资.由 ...

  3. C 栈实例

    就近匹配: 应用1:就近匹配 几乎所有的编译器都具有检测括号是否匹配的能力 如何实现编译器中的符号成对检测? #include <stdio.h> ][]; ]; p = a[]; ; 算 ...

  4. node.js 浏览器中输出 “hello world”

    前段时间花了几个小时,在command面板输出了“hello world”,今天就来说说怎么在浏览器上输入一个地址,然后页面输出“hello world”. 首先要搭建一个基础的 HTTP 服务器 一 ...

  5. JavaScript笔记 第十六章 匿名函数和闭包

    1.匿名函数 2.闭包 匿名函数就是没有名字的函数,闭包是可访问一个函数作用域里变量的函数. 一.匿名函数 //普通函数 function getName() { return 'name'; } a ...

  6. 用antlr文法编写的hermit swrl规则(分享)

    /* * To change this license header, choose License Headers in Project Properties. * To change this t ...

  7. python--列表的使用

    1.定义列表: names = ['Mo',"Tenglan",'Eric'] 通过下标访问列表中的元素,下标从0开始计数 >>> names[0] 'Mo' & ...

  8. 如何在C#中循环一个枚举

      在C#中要想迭代循环一个枚举,最容易想到的办法是直接进行循环,如下代码所示:   public enum Suit { Spades, Hearts, Clubs, Diamonds } publ ...

  9. RecyclerView基本用法

    1. 在gradle.build的dependencies中添加RecyclerView需要的包 compile 'com.android.support:cardview-v7:23.4.0'com ...

  10. 转:Internal Sales Order (ISO) Process Flow

    本文介绍下内部销售订单Internal Sales Order(ISO)在Oracle EBS中的流程,内部销售订单和组织间转移(Inter-Organization Transfer,IOT)的作用 ...