Linux上的Apache/Httpd安装配置详解

首先我要跟大家讲一下apache,Apache是世界使用排名第一的Web服务器软件。它可以运行在几乎所有广泛使用的计算机平台上,由于其跨平台和安全性被广泛使用,是最流行的Web服务器端软件之一。它快速、可靠并且可通过简单的API扩充,将Perl/Python等解释器编译到服务器中。同时Apache音译为阿帕奇,是北美印第安人的一个部落,叫阿帕奇族,在美国的西南部。

Apache HTTP Server(简称Apache)是Apache软件基金会的一个开放源码的网页服务器,可以在大多数计算机操作系统中运行,由于其多平台和安全性被广泛使用,是最流行的Web服务器端软件之一。它快速、可靠并且可通过简单的API扩展,将Perl/Python等解释器编译到服务器中。 [2] 

Apache HTTP服务器是一个模块化的服务器,源于NCSAhttpd服务器,经过多次修改,成为世界使用排名第一的Web服务器软件。

它可以运行在几乎所有广泛使用的计算机平台上。

Apache源于NCSAhttpd服务器,经过多次修改,成为世界上最流行的Web服务器软件之一。Apache取自“a patchy server”的读音,意思是充满补丁的服务器,因为它是自由软件,所以不断有人来为它开发新的功能、新的特性、修改原来的缺陷。Apache的特点是简单、速度快、性能稳定,并可做代理服务器来使用。

本来它只用于小型或试验Internet网络,后来逐步扩充到各种Unix系统中,尤其对Linux的支持相当完美。Apache有多种产品,可以支持SSL技术,支持多个虚拟主机Apache是以进程为基础的结构,进程要比线程消耗更多的系统开支,不太适合于多处理器环境,因此,在一个Apache Web站点扩容时,通常是增加服务器或扩充群集节点而不是增加处理器。到目前为止Apache仍然是世界上用的最多的Web服务器,市场占有率达60%左右。世界上很多著名的网站如AmazonYahoo!W3 ConsortiumFinancial Times等都是Apache的产物,它的成功之处主要在于它的源代码开放、有一支开放的开发队伍、支持跨平台的应用(可以运行在几乎所有的UnixWindowsLinux系统平台上)以及它的可移植性等方面。

Apache的诞生极富有戏剧性。当NCSAWWW服务器项目停顿后,那些使用NCSAWWW服务器的人们开始交换他们用于该服务器的补丁程序,他们也很快认识到成立管理这些补丁程序的论坛是必要的。就这样,诞生了Apache Group,后来这个团体在NCSA的基础上创建了Apache

看到这里有人是说两者有什么联系?

其实tpdApache超文本传输协议(HTTP)服务器的主程序。被设计为一个独立运行的后台进程,它会建立一个处理请求的子进程或线程的池。

  httpd不应该被直接调用,而应该在类Unix系统中由 apachectl 调用,在Windows NT/2000/XP/2003中作为服务运行和在Windows 95/98/ME中作为控制台程序运行。

但是ApacheApache软件基金会(也就是Apache Software Foundation,简称为ASF),是专门为运作一个开源软件项目的Apache 的团体提供支持的非盈利性组织,这个开源软件的项目就是 Apache 项目。

扫描二维码关注公众号,回复: 3151540 查看本文章

httpdhttpd超文本传输协议(HTTP)服务器的主程序。被设计为一个独立运行的后台进程,它会建立一个处理请求的子进程或线程的池。说白了,httpdApache组织下维护的一个开源软件。不要两者混为一谈,有联系但是不是一个东西……

1、前期准备

    Centos6.7、关闭ipables、selinux、yum源配置

2、安装

Yum安装,看我之前的文章不多叙述

、程序环境

    配置文件

    服务脚本

    主程序文件

    日志文件

    模块文件路径

    服务控制和启动

4、配置

    修改监听的IP和PORT

    持久连续

    MPM 

    虚拟主机

安装包介绍

安装版本httpd-2.4

yum安装

在安装前使用rpm -q httpd查看httpd-2.4

yum install httpd

3、程序环境

配置文件:

     /etc/httpd/conf/httpd.conf

     /etc/httpd/conf.d/*.conf

服务脚本:

    /etc/rc.d/init.d/httpd

脚本配置文件:/etc/sysconfig/httpd

主程序文件:

     /usr/sbin/httpd

     /usr/sbin/httpd.event

     /usr/sbin/httpd.worker

日志文件:

    /var/log/httpd:

    access_log:访问日志

    error_log:错误日志

站点文档:

    /var/www/html

模块文件路径:

    /usr/lib64/httpd/modules

 

服务控制和启动:

     chkconfig  httpd  on|off

     service  {start|stop|restart|status|configtest|reload}  httpd

4、配置

1)修改监听的IP和PORT

套接字通信(Socket):IPC(进程间通信)的一种实现,允许位于不同主机(也可以是同一主机)上的进程之间进行通信;
Socket API(封装了内核中的socket通信相关的系统调用)
Web服务器就是C/S架构,基于套接字通信的机制。
配置说明:
Listen  [IP:]PORT
(1) 省略IP表示为0.0.0.0,代表本机所有IP;
(2) Listen指令可重复出现多次;
Listen  80
Listen  8080
(3) 修改监听socket,重启服务进程方可生效;

实际操作:

[root@1 yum.repos.d]# vim /etc/httpd/conf/httpd.conf

    # Listen 12.34.56.78:80

    Listen 80    # 监听本机所有IP的80和8080端口

    Listen 8080

[root@1 ~]# httpd -t     # 语法检测

httpd: apr_sockaddr_info_get() failed for wlm # #此错误忽略,是因为没有设置ServerName,后面会讲

httpd: Could not reliably determine the server's fully qualified domain name, using 127.0.0.1 for ServerName

Syntax OK

[root@1 yum.repos.d]# /etc/init.d/httpd restart    # 重启进程

Stopping httpd:                                            [FAILED]

Starting httpd: httpd: apr_sockaddr_info_get() failed for wlm    #此错误忽略,是因为没有设置ServerName,后面会讲

httpd: Could not reliably determine the server's fully qualified domain name, using 127.0.0.1 for ServerName

                                                           [  OK  ]

测试:从浏览器访问,默认是访问80端口,出现的是默认测试页面

5)定义'Main' server的文档页面路径

在/etc/httpd/conf/http.conf
DocumentRoot  ""
例如:
DocumentRoot "/web/host1"
文档路径映射:
DoucmentRoot指向的路径为URL路径的起始位置
其相当于站点URL的根路径;
(FileSystem) /web/host1/index.html  -->  (URL)  /index.html
/web/host1/相当于是httpd服务的跟了,例如我们访问的是系统目录/web/host1/下的index.html,
在使用http协议访问时,直接写在:http://网址/index.html

 

# 测试(确保selinux和iptables是关闭的,且/web目录下有index.html文件)

猜你喜欢

转载自blog.csdn.net/VickHUC/article/details/82627740