一、关于Apache
Apache是世界使用排名第一的Web服务器软件。它可以运行在几乎所有广泛使用的计算机平台上,由于其跨平台和安全性被广泛使用,是最流行的Web服务器端软件之一。它快速、可靠并且可通过简单的API扩充,将Perl/Python等解释器编译到服务器中。
Apache有以下几个特性:
1.支持最新的HTTP/1.1通信协议
2.拥有简单而强有力的基于文件的配置过程
3.支持通用网关接口
4.支持基于IP和基于域名的虚拟主机
5.支持多种方式的HTTP认证
6.集成Perl处理模块
7.集成代理服务器模块
8.支持实时监视服务器状态和定制服务器日志
9.支持服务器端包含指令(SSI)
10.支持安全Socket层(SSL)
11.提供用户会话过程的跟踪
12.支持FastCGI
13.通过第三方模块可以支持JavaServlets
因此,掌握并使用Apache能够提升自己的技能。
二、部署环境,编译安装
2.1安装环境
虚拟机环境:Centos7.6 最小化安装 4核4G内存
apache版本:httpd-2.4.25
apr版本:apr-1.4.6
apr-util版本:apr-util-1.4.1
下载链接 https://apr.apache.org/download.cgi
2.2编译安装
yum -y install lrzsz # lrzsz是一款在linux里可代替ftp上传和下载的程序,它有两个命令rz和sz
将下载好的软件包直接放到/opt目录下
tar zxvf http-2.4.25.tar.gz #解压这三个软件包
tar zxvf apr-1.4.6.tar.gz
tar zxvf apr-util-1.4.1.tar.gz
将两个底层包放入Apache源码包中并分别取名为 /apr和 /apr-util
mv apr-1.4.6 httpd-2.4.25/srclib/apr
mv apr-util-1.4.1 httpd-2.4.25/srclib/apr-util
安装编译器、环境包
yum -y install gcc gcc-c++ make pcre pcre-devel zlib-devel
在 /opt目录下的 httpd-2.4.25/ 带有configure的路径执行脚本
cd /opt/http-2.4.25
./configure \
--prefix=/usr/local/apache \ # 指定安装路径
--enable-so \ #启用Apache核心模块功能
--enable-rewrite \ #启用Apache重写内容用能
--enable-mods-shared=most \ #开启共享模块
--with-mpm=worker \ #设置mpm为worker
--disable-cgid \ #启用底层网段接口功能
--disable-cgi #启用底层网段接口功能
make #编译
make install #安装
生成启动脚本便于service管理
grep -v "#" /usr/local/apache/bin/apachectl > /etc/init.d/httpd
vi /etc/init.d/httpd 在文件最前面插入下面的行
#!/bin/sh
# chkconfig:2345 85 15
# description:Apache is a World Wide Web server
chmod +x /etc/init.d/httpd
chkconfig --add httpd
chkconfig --list httpd
chkconfig --level 35 httpd on
建立软连接便于管理(配置文件)
ln -s /usr/local/apache/conf/httpd.conf /etc/httpd.conf
输入/Listen(查找Listen),更改ip地址,输入/ServerN更改域名
vim /etc/httpd.conf
...
Listen 192.168.179.144:80
#Listen 80
ServerName:主机名.域名
...
关闭防火墙,临时关闭selinux
systemctl stop firewalld.service
setenforce 0
启动Apache服务
cd /usr/local/apache/bin
./apachectl start
这时打开刚刚设置的网址,可以看到
Apache的主页存放路径为/usr/ local/ apache/htdocs/ index. html,可以进去修改主页
vim index.html
再次打开网址
三、可能遇到的错误
在配置时出现这种错误
这种情况是apr-util没有放到httpd下面的srclib目录中,解压后一定要注意文件存放位置,不要搞错
在make时出现这种错误,这是因为系统缺失 expat 库,安装 expat 库解决该问题
yum install -y expat-devel
最后,特别要注意的,在下载apache,apr,apr-util时一定要注意版本兼容性,我一开始在官网下载最新版的apr,apr-uti怎么也无法安装成功,发现是版本不兼容,最好先查一下版本兼容问题,不要白忙活!!