1、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相比, 配置管理风格存在较大差异
2、编译安装httpd服务器
■ 编译安装的优点
● 具有较大的自由度,功能可定制
● 可及时获得最新的软件版本
● 普遍适用于大多数Linux版本,便于移植使用
■ 获得Apache服务器的源码包
● 参考地址: http://httpd.apache.org/download.cgi
■ 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执行路径
● 创建链接
● 将apache程序的路径加入PATH环境变量中
■ 查看Apache程序的版本
httpd-v
3、Apache开机自启动
■ 默认源码包编译的时候是不会让apache软件包可以通过systemctl或service去管理的,因为systemd单元里面没有这个服务,所以需要自己添加
[root@localhost~]#cd /lib/systemd/system/ // cp /usr/ local/httpd/bin/ apachectl /etc/init. d/httpd(方法二) CentOS7中运行的第一个init进程是/lib/systemd/system
[root@localhost system]#vim httpd. service
[Unit]
Description=The Apache HTTP Server //描述信息
After=network. target //在网络服务后面启动
[Service] //服务里面的类型
Type= forking //触发进程
PIDFile=/usr/local/httpd/logs/httpd. pid //进程文件路径
ExecStart= /usr/local/bin/ apachectl $OPTIONS //开服务
ExecrReload= /bin/kill -HUP $MAINPID //重启服务
[Install]
WantedBy=multi-user. target
[ root@ localhost system]# systemctl enable httpd. service //文件下必须要有service服务
4、Apache网页网站捆绑域名
■ 域名两种获取方式:静态-修改/etc/hosts文件
■ 动态-DNS获取
■ 将域名和网页捆绑
[ root@web~ ] #vim