Loading [MathJax]/jax/output/CommonHTML/config.js
前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >Linux下安装Apache httpd

Linux下安装Apache httpd

作者头像
Leshami
发布于 2018-08-13 04:00:56
发布于 2018-08-13 04:00:56
2.9K00
代码可运行
举报
文章被收录于专栏:乐沙弥的世界乐沙弥的世界
运行总次数:0
代码可运行

httpd是Apache超文本传输协议(HTTP)服务器的主程序。它被设计为一个独立运行的后台进程,它会建立一个处理请求的子进程或线程的池对外提供服务。httpd支持基于 虚拟主机,以及基于HOST、IP、PORT实现虚拟主机,反向代理,负载均衡,路径别名,用户认证,basic,支持第三方模块等众多特性。本文主要描述了Linux下httpd的安装以及相关基本用法。

一、httpd的安装

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
演示环境及版本
    # cat /etc/issue
    CentOS release 6.5 (Final)
    Kernel \r on an \m

    # uname -r
    2.6.32-431.el6.x86_64

查看httpd是否已安装
    # rpm -qa httpd

使用yum列出相关httpd安装文件,此处为本地yum源    
    # yum list |grep httpd     
    httpd.x86_64                 2.2.15-29.el6.centos        local_server 
    httpd-devel.i686             2.2.15-29.el6.centos        local_server 
    httpd-devel.x86_64           2.2.15-29.el6.centos        local_server 
    httpd-manual.noarch          2.2.15-29.el6.centos        local_server 
    httpd-tools.x86_64           2.2.15-29.el6.centos        local_server 

安装及验证httpd  
    # yum -y install httpd
    # rpm -qa |grep httpd
    httpd-tools-2.2.15-29.el6.centos.x86_64
    httpd-2.2.15-29.el6.centos.x86_64

使用rpm方式寻找配置文件   
    # rpm -qc httpd  

常用的配置文件:
    /etc/httpd/conf.d/*.conf        ###辅助配置文件
    /etc/httpd/conf/httpd.conf      ###主配置文件
    /etc/sysconfig/httpd            ###httpd工作模式配置文件

使用rpm方式查看安装位置及生成的二进制文件  
    # rpm -ql httpd  

    主程序:
    /usr/sbin/httpd  MPM模式默认
    /usr/sbin/httpd.event
    /usr/sbin/httpd.worker

使用rpm方式查看包的帮助文件 
    # rpm -qd httpd   

启动脚本:/etc/rc.d/init.d/httpd

日志文件目录:
    /var/log/httpd
        access_log:访问日志
        error_log: 错误日志

站点文档目录:(站点根目录)
    /var/www/html

httpd的工作目录:/var/www

二、httpd的工作模式

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
1MPM: Multipath Processing Module(多路处理模块)
    prefork: 多进程模型,每个进程响应一个请求;稳定性好,但并发能力有限;预先生成多个空闲进程;
        由于prefork使用select()系统调用,所以最大并发不能超过1024;

    worker:多进程模型,每个进程可生成多个线程,每个线程响应一个请求;预先生成多个空闲线程;
    event:一个进程直接响应n个请求;可同时启动多个进程;
        httpd-2.2: 测试使用;    ### Author : Leshami
        httpd-2.4: 可生产使用;  ###  Blog   : http://blog.csdn.net/leshami

2、几种工作方式的切换
prefork模式下      
    # service httpd start
    Starting httpd:                                            [  OK  ]
    # ps -ef|grep httpd |grep -v grep ###一个主进程,生成了8个空闲进程
    root       6413      1  0 09:40 ?        00:00:00 /usr/sbin/httpd
    apache     6416   6413  0 09:40 ?        00:00:00 /usr/sbin/httpd
    apache     6417   6413  0 09:40 ?        00:00:00 /usr/sbin/httpd
    apache     6418   6413  0 09:40 ?        00:00:00 /usr/sbin/httpd
    apache     6419   6413  0 09:40 ?        00:00:00 /usr/sbin/httpd
    apache     6420   6413  0 09:40 ?        00:00:00 /usr/sbin/httpd
    apache     6421   6413  0 09:40 ?        00:00:00 /usr/sbin/httpd
    apache     6422   6413  0 09:40 ?        00:00:00 /usr/sbin/httpd
    apache     6423   6413  0 09:40 ?        00:00:00 /usr/sbin/httpd   

    # ss -tulpn |grep httpd
    tcp    LISTEN     0   128  :::80   :::*      users:(("httpd",6413,4),("httpd",6416,4),("httpd",6417,4),("httpd",6418,4),
    ("httpd",6419,4),("httpd",6420,4),("httpd",6421,4),("httpd",6422,4),("httpd",6423,4)

    # netstat -nltp|grep 80
    tcp        0      0 :::80                       :::*          LISTEN      6413/httpd   

worker工作方式
    # cat /etc/sysconfig/httpd|grep -v ^#
    HTTPD=/usr/sbin/httpd.worker

    # service httpd restart
    Stopping httpd:                                            [  OK  ]
    Starting httpd:                                            [  OK  ]
    [root@orasrv1 ~]# ps -ef|grep httpd|grep -v grep
    root       2261      1  0 17:47 ?        00:00:00 /usr/sbin/httpd.worker
    apache     2264   2261  0 17:47 ?        00:00:00 /usr/sbin/httpd.worker
    apache     2265   2261  0 17:47 ?        00:00:00 /usr/sbin/httpd.worker
    apache     2266   2261  0 17:47 ?        00:00:00 /usr/sbin/httpd.worker

event工作方式
注,尽管2.2版本可以设置工作方式为httpd.event,生产环境不建议使用
    # cat /etc/sysconfig/httpd|grep -v ^#
    HTTPD=/usr/sbin/httpd.event
    [root@orasrv1 ~]# service httpd restart
    Stopping httpd:                                            [  OK  ]
    Starting httpd:                                            [  OK  ]
    [root@orasrv1 ~]# ps -ef|grep httpd|grep -v grep
    root       2402      1  0 17:49 ?        00:00:00 /usr/sbin/httpd.event
    apache     2405   2402  0 17:49 ?        00:00:00 /usr/sbin/httpd.event
    apache     2406   2402  0 17:49 ?        00:00:00 /usr/sbin/httpd.event
    apache     2407   2402  0 17:49 ?        00:00:00 /usr/sbin/httpd.event

三、httpd模块化特性

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
高度模块化
        core + modules, 
        DSO: Dynamic Shared Object

模块目录:
        /etc/httpd/modules: 符号链接文件
        /usr/lib64/httpd/modules

模块的查看       
    httpd -M          ###查看当前httpd进程的所有模块
    httpd.event -M    ###查看event工作模式下的所有模块 更正@20160712
    httpd.worker -M   ###worker工作模式下的所有模块  更正@20160712
    httpd.worker -l   ###worker工作模式下的核心模块  更正@20160712

模块的查看示例 
    # httpd -M
    Loaded Modules:
     core_module (static)
     mpm_prefork_module (static)
     http_module (static)
     so_module (static)
     auth_basic_module (shared)
      ..............

    # httpd.event -l
    Compiled in modules:
      core.c
      event.c
      http_core.c
      mod_so.c

模块的动态装载与卸载
    # cp /etc/httpd/conf/httpd.conf /etc/httpd/conf/httpd.conf.bak
    # cat /etc/httpd/conf/httpd.conf |grep authn_alias_module
    LoadModule authn_alias_module modules/mod_authn_alias.so
    # vi /etc/httpd/conf/httpd.conf  ###注释mod_authn_alias.so模块
    # cat /etc/httpd/conf/httpd.conf |grep authn_alias_module
      #LoadModule authn_alias_module modules/mod_authn_alias.so
    # service httpd restart
    # httpd -M   ###使用该方式前后进行对比即可知道模块是否装载或卸载    

四、验证httpd服务

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
# echo "<h1>orasrv1.xlk.com</h1>" >/var/www/html/index.html
# curl http://192.168.21.10
<h1>orasrv1.xlk.com</h1>
本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2015年11月18日,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
Linux 6 下yum方式安装配置LAMP平台
1、apache httpd与php之间的衔接是通过模块化的方式来实现。 2、对于perfork模式使用libphp5模块,worker和event模式则使用libphp5-zts模块。 3、php与mysql则通过安装php-mysql包来实现php到mysql的访问。
Leshami
2018/08/13
1.5K0
httpd的rpm包及源码安装配置
          inet addr:192.168.0.200  Bcast:192.168.0.255  Mask:255.255.255.0
星哥玩云
2022/07/04
1.8K0
HTTPD
Apache HTTP Server(简称Apache或httpd)是Apache软件基金会的一个开放源代码的网页服务器软件,旨在为unix,windows等操作系统中提供开源httpd服务。由于其安全性、高效性及可扩展性,被广泛使用,自1996年4月以来,Apache一直是Internet上最流行的HTTP服务器。它快速、可靠并且可通过简单的API扩充,将Perl/Python等解释器等编译到httpd的相关模块中。
一滴水的眼泪
2020/09/21
1.9K0
HTTPD
httpd中工作模型的比较
http服务,需要客户端和服务器端建立连接,httpd有三种工作模式:prefork worker event
星哥玩云
2022/06/30
8300
apache使用方法详解
在虚拟主机之上还能设置很多的功能,第二部分的内容都可以出现在每个虚拟主机部分,最精简的配置是需要有ServerName和DocumentRoot这两个配置,在添加了虚拟主机的配置之后需要把中心主机的信息也单独写成一个虚拟机的配置,(或者注销ServerName和DocumentRoot这两个配置),不然中心主机名的服务就不知道丢到哪里去了,这一步骤在Apache帮助文档中称做:取消中心主机 当然,如果你想有多个域名都指向到同一个虚拟主机是可以通过在块中配置ServerAlias功能来实现的。
小柒吃地瓜
2020/04/23
2.2K0
Linux下配置Apache httpd
httpd是Apache超文本传输协议(HTTP)服务器的主程序。它被设计为一个独立运行的后台进程,它会建立一个处理请求的子进程或线程的池对外提供服务。httpd支持基于 虚拟主机,以及基于HOST、IP、PORT实现虚拟主机,反向代理,负载均衡,路径别名,用户认证,basic,支持第三方模块等众多特性。本文主要描述了Linux下httpd(2.2版本)的相关基本配置。 1、配置文件概述 配置文件,主要分为3个部分: # grep "Section" /etc/httpd/conf/h
Leshami
2018/08/13
2.4K0
CentOS Apache服务器安装与配置
一、安装Apache程序,一般有三种安装方式: 1.直接网络安装; 2.下载rpm包,上传至服务器进行安装; 3.通过原代码编译安装;
星哥玩云
2022/06/29
1.2K0
关于 Apache 的 25 个初中级面试题
我们非常感谢所有我们的读者就我们新开的Linux面试章节给我们的回复. 而现在我们已经开始了关于面试提问,以及同今天关注的基础到中级的Apache面试提问的章节的学习,这将能够帮助你自己做好面试的准备.
星哥玩云
2022/06/29
4890
Linux下编译安装Apache httpd 2.4
Apache是世界使用排名第一的Web服务器软件。它可以运行在几乎所有广泛使用的计算机平台上,由于其跨平台和安全性被广泛使用,是最流行的Web服务器端软件之一。当前Apache版本为2.4,本文主要描述基于CentOS 6.5以源码方式安装Apache httpd。 一、编译安装的优势 源码的编译安装一般由3个步骤组成: 配置(configure),通常依赖gcc编译器,binutils,glibc。配置软件特性,检查编译环境,生成 Makefile文件 编译(make) 安装
Leshami
2018/08/13
2.7K0
LAMP架构应用实战—Apache服务介绍与安装01
Apache是Apache基金会开发的一个高性能、功能强大、安全可靠、灵活的开放源码的WEB服务软件
民工哥
2020/09/16
3580
切换apache的prefork和worker模式
ApacheHTTP服务器被设计为一个强大的、灵活的能够在多种平台以及不同环境下工作的服务器。不同PHP
Java架构师必看
2020/10/26
8100
11.7/11.8/11.9 Apache安装
安装Apache Apache是一个基金会的名字,httpd才是我们要安装的软件包,早期它的名字就叫apache Apache官网www.apache.org wget http://mirrors.cnnic.cn/apache/httpd/httpd-2.4.29.tar.gz wget http://mirrors.cnnic.cn/apache/apr/apr-1.6.3.tar.gz wget http://mirrors.cnnic.cn/apache/apr/apr-util-1.6.1.ta
运维小白
2018/02/06
1.5K0
Apache Httpd服务器之基础教程
Httpd服务器是Apache产品线下的一款web服务器,常与PHP或Python等CGI脚本一起配合使用,为用户提供动态Web服务。httpd,从名字就可以看出,它提供的主要是基于http协议的Web服务。本篇为介绍Httpd服务器的第一篇,主要介绍下Httpd服务器的安装,运行模式,容器配置,以及CGI的配置,目的是使大家能通过阅读此篇文章来从零建立起一个可运行的Web服务器。
星哥玩云
2022/07/04
1.1K0
Apache MPM 模型
Web服务器Apache在Uninx下目前一共有三种稳定的MPM(Multi-Processing Module,多进程处理模块)模式。在apache的早期版本2.0默认prefork,2.2版本是worker,2.4版本是event,它们同时也代表这Apache的演变和发展。
冬夜读书示子聿
2022/01/09
7880
CentOS6下使用Apache部署HTTP服务
Apache--目前用于实现http服务的软件有许多,包括主流的Apache、Nginx,还有微软的IIS等,这篇文章只介绍Apache实现的各种功能的http服务,通过Apache的功能说明配置文件中每个指令的具体含义和用法。
星哥玩云
2022/07/13
1.4K0
CentOS6下使用Apache部署HTTP服务
Apache基本使用总结
KeepAlive是什么东西?它是http协议的一部分,让我们复习一下没有KeepAlive的http请求,从客户在浏览器输入一个有效url地址开始,浏览器就会利用socket向url对应的web服务器发送一条TCP请求,这个请求成功一次就得需要来回握三次手才能确定,成功以后,浏览器利用socket TCP连接资源向web服务器请求http协议,发送以后就等着web服务器把http返回头和body发送回来,发回来后浏览器关闭socket连接,然后做http返回头和body的解析工作,最后呈现在浏览器上的就是漂亮的页面了。这里面有什么问题呢?TCP连接需要三次握手,也就是来回请求三次方能确定一个TCP请求是否成功,然后TCP关闭呢?来回需要4次请求才能完成!每次http请求就3次握手,4次拜拜,这来来回回的不嫌累啊,多少时间和资源都被浪费在socket连接关闭上了,能不能一次socket TCP连接发送多次http请求呢?于是KeepAlive就应运而生,http/1.0里需要客户端自己在请求头加入Connection:Keep-alive方能实现,在这里我们只考虑http1.1了,只需要设置一下Apache,让它默认就是Keep-Alive持久连接模式(Apache必须1.2+才能支持Keep-Alive)。在httpd.conf里找到KeepAive配置项,果断设置为On,MaxKeepAliveRequests果断为0(一个持久TCP最多允许的请求数,如果过小,很容易在TCP未过期的情况下,达到最大连接,那下次连接就又是新的TCP连接了,这里设置0表示不限制),然后对于mysql_pconnect最重要的选项KeepAliveTimeout设置为15(表示15秒), httpd-2.4支持毫秒级持久时间。 测试:
菲宇
2022/12/02
9570
Apache基本使用总结
Linux下配置apache与Tomcat连接
参考: Linux下编译安装Apache httpd 2.4 Linux下安装tomcat8
Leshami
2018/08/13
2.8K0
Apache如何启用HTTP2?
Apache虽然市场份额渐渐被Nginx赶超,但其仍有Nginx取代不了的优点,特别是它的Rewrite和动态处理,是Nginx无法比拟的,很多人说Apache无法承载高并发,其实Apache在2.4的版本中,采用了Event MPM的工作模式,对于处理高并发有了很高的提升。但是,如果你是需要用到反向代理和很大的高并发项目;或者用低配置的特价虚拟主机,建议你还是选Nginx,毕竟还是轻量。
李俊鹏
2021/02/23
1.9K0
Apache如何启用HTTP2?
Apache服务的安装及工作模式介绍
我们都知道Linux上常见的web服务器有:apache、nginx、tomcat!
小手冰凉
2019/12/20
6930
Apache服务的安装及工作模式介绍
apache+svn+php+tomcat+mysql+re
./configure --prefix=/usr/local/apr-util --with-apr=/usr/local/ap
用户1168904
2021/05/25
6760
相关推荐
Linux 6 下yum方式安装配置LAMP平台
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档