编程只是起点
我们的终点是星辰大海

Web服务器 – Apache篇(一)

很久以前就有写博客的想法,但怕写不好,一直没有开始写。任何事情,都得有个开始吧,都得要迈出第一步吧,所以今天写这篇Web服务器的文章,来迈出我写博客的第一步,妙笔生花的文字我写不出来,记流水账我总会吧。

什么是Web服务器

Web服务器一般是网站服务器,是安装在计算机中的一个程序,可以向浏览器等Web客户端发送文档,你可以在Web服务器上放置数据文件,让全世界的人来浏览。目前比较主流的几个Web服务器软件包括世界使用量排名第一的apache,轻量级,提供反向代理功能,支持高并发的nginx,还有微软的iis服务器,今天先来介绍apache服务器。

Apache简介

Apache服务器的全称是 Apache HTTP Server,支持多个平台,速度快,运行稳定,可以通过简单的api扩展,把php/Python等解释器加入到服务器中,所以Apache的应用十分广泛。

在Internet开始流行的时候,出现了http协议,美国的一所大学开始组织研究生编写基于http协议的Server端程序和Client,因为这个项目是出于学术的目的,进行了一段时间后解散了,并把项目开源了。由于Internet的发展,对http Server的需求越来越大,公开源码的项目成了研究的起点,很多黑客(顶尖的计算机高手)给程序提交代码,增加功能,并对出现的bug加以修复,这个服务器端程序不断完善,最终成为了今天的Apache服务器,而那个Client最终演变成了今天的firefox。

Apache名字的由来

Apache之父说:我选择apaceh这个名字是选择它所包含的积极的含义。阿帕奇族是最后一个屈服于美国政府的名族。当时我担心大公司迟早会参与竞争并‘教化’这块最早的互联网之地,所以在我看来,阿帕奇是一个很好的名字。

apache服务器的安装

linux下软件的安装方式有两种,源码安装和rpm安装,源码安装优点是用编译器编译后的代码更贴近硬件,运行效率更高,编译安装还能提供很多编译的参数,可以最大化定制软件,缺点就是编译过程比较耗时,编译过程中出现错误不好解决,像apache服务器是用c语言写的,编译时如果出现什么报错信息,就要去搜索引擎查明找原因,然后修改c语言的代码,对没有c语言基础的还是挺困难的。rpm(二进制文件)安装,已经提前帮你编译成了二进制代码,省去了编译时间,缺点就是相对于编译安装的软件运行效率稍低,不能定制安装时的一些参数。

如果你从apache官网下载apache安装也挺麻烦的,还要解决依赖关系的问题。什么是依赖关系呢,举个windows的例子,运行某个游戏它提示你缺少*.dll文件,安装某软件时要你安装.net库,一个程序的运行需要另一个程序提供一些支持,这就是依赖关系。windows还好点,都是微软一家开发的,很多依赖关系根本不需要用户解决。而linux就不同了,它的整个系统是由很多开发组共同完成的,linux的软件包是很灵活的,很多软件都不是必须的,有些功能可有很多软件提供。安装某个软件时可能需要另一个软件的功能支持,而这个软件可能还需要其他软件的功能支持,通常安装一个软件会依赖数十个文件,上百个都有可能,安装一个软件就要安装这么多软件,操作繁琐并且耗费时间的,有时还会碰上环形依赖。

好在各个linux系统都提供了依赖包管理工具,像RedHat和Centos下提供的的yum工具,他可以自动解决所有依赖关系,并全部下载安装,无须自己一次次繁琐地下载安装,安装apache只需要运行yum -y install apache命令就可以完成apache的安装,-y 的意思是遇到所有提示都选yes。

其实除了源码安装和rpm安装外,还有一种安装方式,脚本安装。在windows下搭建网站环境运行环境也挺麻烦的,好在有wamp server或Xampp,phpstudy等软件包,安装了它们后那些常用的软件apache,mysql,php,phpmyadmin都集成了,不用你一个一个去下载,并配置关联它们。在linux下有没有这种程序呢,那就是shell脚本了,所谓脚本安装,就是别人把程序的安装过程都写在一个shell脚本里,他的本质还是用到了源码安装和rpm安装,所以没把它门归到那两类中。一个以前需要花一天时间安装的软件,用脚本安装包的话,运行一下脚本,进行一些简单的配置,它便帮你进行那一系列繁琐地安装过程。脚本安装的坏处就是不能定制,软件安装在哪,软件的一些参数设置,脚本的作者都已近帮你写好了,除非是你自己写的脚本或者是自己会修改脚本。在这里给大家推荐我自己用的一款脚本 名字叫oneinstack,大家自己搜索

apache主配置文件

前面啰嗦了那么一堆,写了一下apache的安装过程,现在开始写这篇文章中最重要的内容,apache的主配置文件httpd.config中一些常见的配置项。
主配置大约500多行,但其中只有一小部分的apache指令,大多数都是注释,去掉注释大约100多行,下面是配置文件的内容,通过翻译和搜索引擎,我给每条指令都加上了注释。

最后

行了,一篇简单的博客。虽然花了我三个多小时,但收获也是巨大的。第一篇博客,加油!!

本文采用知识共享署名-非商业性使用 4.0 国际许可协议进行许可 »钟声博客 » Web服务器 – Apache篇(一)

相关推荐

  • linux基础命令
  • 晒晒书单
  • 体验Deepin
  • 写给高考失利的同学!
  • 密码保护:一枝红木口

评论 抢沙发

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址

我的简书友情链接