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 项目。

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

前期准备

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

安装包介绍

安装版本httpd-2.4

yum安装

rpm -qa | grep httpd           #查看已经安装的httpd

yum install httpd      #安装httpd服务

systemctl start httpd          #启动httpd服务

systemctl  status htttpd  #通过此命令查看服务是否为启动状态

 

配置文件:

     /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

 

修改监听的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,重启服务进程方可生效;

实际操作:

[[email protected] yum.repos.d]# vim /etc/httpd/conf/httpd.conf

    # Listen 12.34.56.78:80

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

    Listen 8080

[[email protected] ~]# 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

[[email protected] 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端口,出现的是默认测试页面

 

由于,首次配置httpd服务,所以,在浏览首页文件的时候,会跳至到/etc/httpd/conf.d/welcom.conf文件,将此文件用网页的形式显示到屏幕。如果想修改主页,操作如下:

mv /etc/httpd/conf.d/welcom.conf      移动/etc/httpd/conf.d/welcom.conf文件到根目录***意:此时/etc/httpd/conf.d/这个文件目录下已经没有welcom.conf的这个文件

 

cd /var/www/html/   #切换至 /var/www/html/ 下面

vi  index.html              #编辑一个index.html的文件,注意:文件后缀名要以html结尾

<h1> wcm  login start !!   <h1>

systemctl restart httpd         #重启服务器,生效配置文件

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

 

在使用http协议访问时,直接写在:http://网址/index.html

本文来源 互联网收集,文章内容系作者个人观点,不代表 本站 对观点赞同或支持。如需转载,请注明文章来源,如您发现有涉嫌抄袭侵权的内容,请联系本站核实处理。

© 版权声明

相关文章