1.监听端口,默认为80,在主配置文件 /etc/httpd24/httpd.conf中可以更改

2.持久连接

Include /etc/httpd24/extra/httpd-default.conf

主配置文件中取消该注释,并且到该文件中作相应具体修改

KeepAlive On
#开启持久连接
MaxKeepAliveRequests 100
#持久连接断开判断条件一,处理100个请求
KeepAliveTimeout 5
#条件二,超时5秒

副作用,对并发访问量大的服务器,持久连接会使某些请求得不到相应,可以考虑使用时间较短的持久连接,apache2.4支持毫秒级的持久连接(有个疑问,怎么设置 可以设置成0.2 吗?)

3.MPM

可能用到的命令, (编译安装我切换工作模式,httpd -l 貌似显示不出来我静态编译的工作模式,rpm安装包可以显示),httpd -M  可以查看当前加载模式

在主配置文件中可以选择工作模式,这里我有个疑问,event模式去哪里了??有知道的大大麻烦指点下

同时需要注释

# Server-pool management (MPM specific)
Include /etc/httpd24/extra/httpd-mpm.conf

prefork的配置: <IfModule prefork.c> StartServers 5  服务器启动时建立的子进程数量 MinSpareServers 5  空闲子进程的最小数量 MaxSpareServers 10  空闲子进程的最大数量 ServerLimit 4000  服务器允许配置的进程数上限 MaxClients 4000  最大请求数量,超过后进入等待队列,与以上保持一致,通称为内存M/2 MaxRequestsPerChild 4000  设置每个子进程在其生存期内最大请求数量,0为无限 </IfModule> worker的配置: <IfModule worker.c> StartServers 5  启动时建立的子进程数量
            ServerLiMIT     20 服务器允许配置的进程数上限
            ThreadLimit       200   设置每个子进程可配置的线程数上限 MaxClients 4000  请求最大线程数,超过进入等待队列 MinSpareThreads 25  最小空闲线程数 MaxSpareThreads 75  最大空闲线程数 ThreadsPerChild 200  每个子进程的线程数 MaxRequestsPerChild 0  设置每个子进程在其生存周期内最大的请求数量,0为无限 </IfModule>

4.配置指令实现动态模块加载

LoadModule <mod_name> <mod_path>

5.文档页面路径

DocumentRoot "/var/www/html

同时注释

# Virtual hosts
#Include /etc/httpd24/extra/httpd-vhosts.conf

给文档路径以访问权限

DocumentRoot "/var/html"
<Directory "/var/html">
        Options None
        AllowOverride None
        Require all granted
</Directory>

ServerName  暂改为 www.test.com

在所在路径下建一个简单的html

echo "Hello World" > /var/html/index.com

添加hosts后可以访问了

6. 日志设定

日志定义设定

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

%h:客户端IP地址; 
%l: Remote logname (from identd, if supplied). -表示为空; %u: Remote user, (from auth; may be bogus if return status (%s) is 401); %t:Time the request was received (standard english format),服务器收到请求的时间; %r:First line of request,请求报文的道行信息(method url version); %>s: 响应状态码; %b: 响应报文的大小,单位是字节,不包括响应报文首部; %{Referer}i:请求报文当中"referer"首部的值;当前资源的访问入口,即从哪个页面中的超链接跳转而来;
%{User-Agent}i:请求报文当中"User-Agent"首部的值;即发出请求用到的应用程序;

对应的日志图片

7.虚拟主机配置

注释DocumentRoot ,启用vhost

# Virtual hosts
Include /etc/httpd24/extra/httpd-vhosts.conf

或者新加入自己设定的配置文件

# Virtual hosts
#Include /etc/httpd24/extra/httpd-vhosts.conf
Include /etc/httpd24/vhosts

<1>基于IP

<2>基于端口

<3>基于域名

简单的基于域名的虚拟主机因该配置如下

<VirtualHost 172.16.0.87:80>
        ServerName www.test01.com
        DocumentRoot "/data/vhost/one"

ErrorLog /usr/local/apache24/logs/www.test01.com/Error_Log
LogLevel warn

<IfModule log_config_module>
    LogFormat "%h %l %u %t \"%r\" %>s %b \"%{Referer}i\" \"%{User-Agent}i\"" combined
    LogFormat "%h %l %u %t \"%r\" %>s %b" common
    <IfModule logio_module>
      LogFormat "%h %l %u %t \"%r\" %>s %b \"%{Referer}i\" \"%{User-Agent}i\" %I %O" combinedio
    </IfModule>
    CustomLog "/usr/local/apache24/logs/www.test01.com/access_log" common
</IfModule>

        <Directory "/data/vhost/one/">
        Options None
        AllowOverride None
        Require all granted
        </Directory>
</VirtualHost>

echo "Hello World  !  test01"   > /data/vhost/one

echo "Hello World  !  test02"   > /data/vhost/two

记得添加日志所需的目录

测试如下

03 编译安装apache的简易配置的更多相关文章

  1. Linux 通过编译安装apache服务以及配置

    Linux 编译安装apache服务 一.安装 1.通过编译安装,首先需要下载源代码安装包 apache下载链接:http://httpd.apache.org/download.cgi 2.解开源代 ...

  2. Hadoop集群搭建-03编译安装hadoop

    Hadoop集群搭建-05安装配置YARN Hadoop集群搭建-04安装配置HDFS  Hadoop集群搭建-03编译安装hadoop Hadoop集群搭建-02安装配置Zookeeper Hado ...

  3. centos手动编译安装apache、php、mysql

    64位centos 5.5手动安装lamp,要求curl.json.pdo_mysql.gd,记录如下. centos 5.4.5.5.5.6的内核都是2.6.18,都可以安装php 5.3. 卸载旧 ...

  4. Linux下编译安装Apache Http Server

    Linux下编译安装Apache Http Server [TOC] 1.下载httpd-2.4.12.tar.bz2 wget http://mirror.bit.edu.cn/apache/htt ...

  5. linux中编译安装Apache、PHP、MySQL(上)

    1.简介 在阿里云买了个云服务器,一直没时间折腾.过了近十天了吧,才有时间好好玩玩这个云服务器.自己是做Web开发的,所以我需要的开发环境是LAMP.之前打算是采用yum安装,不过yum安装apach ...

  6. 编译安装Apache httpd和php搭建KodExplorer网盘

    编译安装Apache httpd和php搭建KodExplorer网盘 环境说明: 系统版本    CentOS 6.9 x86_64 软件版本    httpd-2.2.31        php- ...

  7. Linux编译安装Apache+PHP

    Linux编译安装Apache+PHP 来自:自学it网,http://www.zixue.it/. 1]编译安装Apache+PHP 1.安装程序依赖库和开发环境   为了省事把所需要的库文件全都安 ...

  8. CentOS 下编译安装Apache

    CentOS 下编译安装Apache 卸载原有的apache 首先从 http://httpd.apache.or 下载apache源码包httpd-2.4.4.tar.gz然后从 http://ap ...

  9. linux编译安装Apache

    1 前言 编译安装Apache HTTP Server,目前最新的版本为2.4.41,做好apr,apr-util,pcre的安装后编译安装即可. 2 准备工作 三个:apr,apr-util,pcr ...

随机推荐

  1. 初步了解关于js跨域问题

    js跨域问题是指在js在不同的域中进行数据传输或者数据通信,比如通过ajax向不同的域请求数据(说到ajax,不可避免的就会遇到两个问题:一是ajax是如何传递数据的?二是ajax是如何实现跨域的?) ...

  2. CHM文件无法打开或无法搜索

    在确保CHM文件本身正常的前提下,检查c:\\windows\hh.exe和C:\\windows\system32\itss.dll和hhctrl.ocx三个文件是否存在. 如不存在,只需要从其他机 ...

  3. redis object 对象系统

    redis object对象系统 概述 redis 当中, sds字符串, adlist双向链表, dict字典, ziplist压缩链表, intset整数集合等均为底层数据结构 redis 并没有 ...

  4. 新建Android项目,会出现两个项目一个是自己创建的项目,另一个是“appcompat_v7”项目,这是怎么回事呢?该怎么解决呢?

    做Android开发的朋友最近会发现,更新ADT至22.6.0版本之后,创建新的安装项目,会出现appcompat_v7的内容.并且是创建一个新的内容就会出现.这到底是怎么回事呢?原来appcompa ...

  5. Angular2.js——数据显示

    显示数据,即属性绑定机制把数据显示到用户界面上. 在Angular中最典型的数据显示方式,就是把HTML模板中的控件绑定到Angular组件的属性. 接下来介绍几种数据显示的语法和代码片段. 使用插值 ...

  6. 安卓和iOS移动APP开发设计应该考虑哪些问题

    应该考虑哪些问题 现在用移动设备上网的用户越来越多,企业也可以从移动APP端挖掘潜在用户,想要设计好一款移动APP,我们需要考虑哪几个问题呢? 首先 我们应该先确认清楚企业的移动互联网战略目标是什么? ...

  7. Python CGI编程(转自易百)

    Python CGI编程 Python的CGI编程,公共网关接口或CGI,Web服务器和一个自定义的脚本之间交换信息是一组定义的标准.     什么是CGI ? 公共网关接口或CGI,Web服务器和一 ...

  8. [周译见] C# 7 中的模范和实践

    原文地址:https://www.infoq.com/articles/Patterns-Practices-CSharp-7 关键点 遵循 .NET Framework 设计指南,时至今日,仍像十年 ...

  9. Spring+SpringMvc+Mybatis 框架的搭建(二)

    4.4 mybatis-config.xml 这部分可以配置也可以不配置. <?xml version="1.0" encoding="UTF-8" ?& ...

  10. Installing MySQL on Microsoft Windows Using a noinstall Zip Archive

    这两天在自己的windows上安装了一下mySql数据库,安装使用的是5.7.18版本的 noinstall Zip Archive安装包mysql-5.7.18-win32.zip.由于5.7版本相 ...