Apache简介及构建Web主机
Apache简介
Apache起源
- 源于A Patchy Server,著名的开源Web服务软件
- 1995年时,发布Apache服务程序的1.0版本
- 由Apache软件基金会(ASF)负责维护
- 最新的名称为“Apache HTTP Server”
- 官方站点:http://httpd.apache.org/
主要特点
- 开放源代码,跨平台应用
- 支持多种网页编程语言
- 模块化设计,运行稳定,良好的安全性
软件版本
- 1.X
- 目前最高版本是1.3,运行稳定
- 向下兼容性较好,但缺乏一些较新的功能
- 2.X
- 目前最高版本是2.4
- 具有更多的功能特性
- 与1.X相比,配置管理风格存在较大差异
Apache的主要特点
- 开放源代码
- 跨平台应用
- 支持各种Web编程语言:Perl,PHP,Python,Java
- 模块化设计
- 运行非常稳定
- 良好的安全性
Apache的依赖软件包
- apr:为上层的应用程序提供一个可以跨越多操作系统平台使用的底层支持接口库。早期apache为了能够处理各种不同的系统平台的时候调用不同的处理函数,现在apache将通用函数独立出来发展成apr项目
- apr-util:完整的apr开发包包含三个:apr,apr-util,apr-iconv。都是为了完成一个功能就是为上层应用提供运行库,只不过和apr提供的数据结果和接口库不一样而已。
- pcre-devel:为了支持正则表达式
- expat-devel;上一个C语言开发的,用来解析XML文档的开发库,主要作用是搜索它的的文档,识别文件指定的位置,调用该部分相应的处理程序,将文件输送到解析器,将文件分割成多个片断,分段装到内存中
- perl:内部集成了正则表达式和第三方代码库CPAN。和前面的pcre-devel支持的正则表达式不一样
Apache配置的选项
--prefix:指定apache程序安装到哪个目录下
--enable-so:启用动态加载模块支持,使httpd具备进一步扩展功能的能力
--enable-rewrite:启用网页地址重写功能,用于网站优化机目录迁移
--enable-charset-lite:启用字符集支持,以便支持使用字符集编码的网页
--enable-cgi:启用CGI脚本程序支持,便于扩展网站的应用访问能力
Apache主要子目录的用途
/usr/local/httpd/bin:存放httpd服务的各种可执行程序文件
/usr/local/httpd/conf:存放httpd服务的各种配置文件
/usr/local/httpd/htdocs:存放网页文档,包括默认首页文件index.html
/usr/local/httpd/logs:存放httpd服务的日志文件
/usr/local/httpd/modules:存放httpd服务的各种模块文件
/usr/local/httpd/cgi-bin:存放各种CGI程序文件
Apache基础配置
先将三个软件包导入
解决apr依赖关系
解压三个软件包
把apr软件包移至Apache的/srclib目录下
安装其他依赖包
添加功能模块
进行编译安装
编辑配置文件
添加下图中两条命令
#chkconfig: 35 85 21 35级别自动运行,第85个启动,第21个关闭
chkconfig --add httpd # 将http加入到管理器中
将默认配置文件链接到/etc下
在vi /etc/httpd.conf下修改ServerName
网站与域名捆绑
地址映射,使得自己可以解析到自己
配置文件修改过后,重启服务
验证网站主页
检查apache的语法命令
查询端口开启命令
构建虚拟Web主机
虚拟Web 主机指的是在同一台服务器中运行多个Web站点,其中每一个站点实际上并不独立占用整个服务器,因此被称为“虚拟”Web 主机。
httpd服务支持的虚拟主机类型包括以下三种:
- 基于域名:为每个虚拟主机使用不同的域名,但是其对应的IP地址是相同的。
- 基于IP地址: 为每个虚拟主机使用不同的域名,且各自对应的IP地址也不相同。
- 基于端口:这种方式并不使用域名、IP地址来区分不同的站点内容,而是使用了不同的TCP端口号。
示例
基于域名
在opt下创建 aa ab两个文件
进入aa文件
创建 vi index.html
进入ab文件
创建 vi index.html
修改创建虚拟主机的文件
文件映射
vi /etc/hosts
验证
基于IP
创建虚拟地址
修改虚拟主机文件
vi /usr/local/httpd/conf/extra/httpd-vhosts.conf
验证
基于端口
修改虚拟主机文件
vi /usr/local/httpd/conf/extra/httpd-vhosts.conf
添加监听端口
验证