目录
前言
上图参考白树明老师!
一、HTTP协议介绍
·HTTP是一个属于应用层的面向对象的协议,由于其简捷、快速的方式,适用于分布式超媒体
信息系统。它于1990年提出,经过几年的使用与发展,得到不断地完善和扩展。
·http协议是一个TCP协议,采用B/S(browser/server)模型,用来传递数据(HTML文件,图片文
件,查询结果等)
二、安装依赖
yum install -y pcre-devel libxml2 expat-devel gcc*
三、安装apr
APR(Apache portable Run-time libraries,Apache可移植运行库)的目的如其名称一样,主要为上层的应用程序提供一个可以跨越多操作系统平台使用的底层支持接口库。在早期 的Apache版本中,应用程序本身必须能够处理各种具体操作系统平台的细节,并针对不同的平台调用不同的处理函数。
yum -y install wget #最小化安装需要现状wget
wget https://www.apache.org/dist/apr/apr-1.7.0.tar.bz2
yum -y install bzip2#用于最小化安装
tar xf apr-1.7.0.tar.bz2
cd apr-1.7.0
./configure --prefix=/usr/local/apr
make
make install
如果出现如下报错:连接到www.apache.org不安全,使用“不检查证书”
加入no-check-certificate 即可成功安装
wget --no-check-certificate https://www.apache.org/dist/apr/apr-1.7.0.tar.bz2
四、APR-util安装
apr-util该目录中也是包含了一些常用的开发组件。这些组件与apr目录下的相比,它们与apache的关系更加密切一些。比如存储段和存储段组,加密等等。
[root@CentOS01 ~]# wget --no-check-certificate https://www.apache.org/dist/apr/apr-util-1.6.1.tar.bz2
[root@CentOS01 ~]# tar xf apr-util-1.6.1.tar.bz2
[root@CentOS01 ~]# cd apr-util-1.6.1
[root@CentOS01 apr-util-1.6.1]# ./configure --prefix=/usr/local/apr-util --with-apr=/usr/local/apr/
[root@CentOS01 apr-util-1.6.1]# make
[root@CentOS01 apr-util-1.6.1]# make install
成功安装apr和APR-util:
五、apr-iconv安装
apr-iconv包中的文件主要用于实现iconv编码。目前的大部分编码转换过程都是与本地编码相关的。在进行转换之前必须能够正确地设置本地编码。因此假如两个非本地编码A和B需要转换,则转换过程大致为A->Local以及Local->B或者B->Local以及Local->A。
[root@CentOS01 ~]# wget --no-check-certificate https://www.apache.org/dist/apr/apr-iconv-1.2.2.tar.bz2
[root@CentOS01 ~]# tar xf apr-iconv-1.2.2.tar.bz2
[root@CentOS01 ~]# cd apr-iconv-1.2.2
[root@CentOS01 apr-iconv-1.2.2]# ./configure --prefix=/usr/local/apr-iconv --with-apr=/usr/local/apr
[root@CentOS01 apr-iconv-1.2.2]# make
[root@CentOS01 apr-iconv-1.2.2]# make install
apr-iconv安装成功:
六、Apache安装
root@CentOS01 ~]# wget --no-check-certificate https://www.apache.org/dist/httpd/httpd-2.4.53.tar.gz
[root@CentOS01 ~]# tar xf httpd-2.4.53.tar.gz
[root@CentOS01 ~]# cd httpd-2.4.53
[root@CentOS01 httpd-2.4.53]# yum -y install zlib-devel
[root@CentOS01 httpd-2.4.53]# ./configure --prefix=/usr/local/apache --enable-mpms-shared=all --with-mpm=event --with-apr=/usr/local/apr --with-apr-util=/usr/local/apr-util --enable-so --enable-remoteip --enable-proxy --enable-proxy-fcgi --enable-proxy-uwsgi --enable-deflate=shared --enable-expires=shared --enable-rewrite=shared --enable-cache --enable-file-cache --enable-mem-cache --enable-disk-cache --enable-static-support --enable-static-ab --disable-userdir --enable-nonportable-atomics --disable-ipv6 --with-sendfile
[root@zutuanxue httpd-2.4.53]# make
[root@zutuanxue httpd-2.4.53]# make install
--prefix=/usr/local/apache 指定安装目录
--enable-mpms-shared=all --with-mpm=event 开启动态MPM切换
--with-apr=/usr/local/apr --with-apr-util=/usr/local/apr-util 指定依赖包apr apr-util安装路径
--enable-so 打开 so 模块,so 模块是用来提 dso 支持的 apache 核心模块
--enable-remoteip 支持基于客户端IP做访问控制
--enable-proxy --enable-proxy-fcgi --enable-proxy-uwsgi 启用代理支持PHP Python网站
--enable-deflate=shared 开启压缩
--enable-expires=shared 开启客户端缓存
--enable-rewrite=shared 开启URL重写
--enable-cache --enable-file-cache --enable-mem-cache --enable-disk-cache 开启服务器缓存
--enable-static-support 支持静态连接
--enable-static-ab 使用静态连接编译 ab - apache http 服务器性能测试工具
--disable-userdir 禁用用户主目录提供页面访问
--enable-nonportable-atomics 对新式CPU支持,支持原子的比较交换(compare-and -swap, CAS)操作指令
--disable-ipv6 禁用IPV6
--with-sendfile 开启sendfile 0复制机制
如果出现下面报错,极大概率是2.4.39的版本在页面找不到了,应该去官网找到对应的版本号即可。
在执行 ./configure 如果出现下面安装错误,是缺少 zlib-devel 依赖包。然后使用 make clean 清除前面的安装内容、源码,再重新安装。
Apache安装成功:
七、启动和测试Apache
[root@CentOS01 ~]# getenforce
#使用getenforce命令可以显示当前SELinux的应用模式,是强制、允许还是停用。
Permissive是允许
Enforcing是强制
[root@CentOS01 ~]# systemctl status firewalld
#查看防火墙状态
[root@CentOS01 ~]# systemctl disable firewalld
[root@CentOS01 ~]# systemctl stop firewalld
[root@CentOS01 ~]# systemctl status firewalld
#关闭防火墙
[root@CentOS01 ~]# setenforce 0
#setenforce命令是用来开启和关闭SELinux的 0是关闭,1是开启
也快永久关闭selinux:
vim /etc/selinux/config
需要重启虚机生效!
测试:提示设置“ServerName”域名,这个不影响操作,后面会提到。
[root@CentOS01 bin]# ./apachectl -t
#可以通过执行 apachectl 或者 httpd 启动 apache
启动Apache:
[root@CentOS01 ~]# /usr/local/apache/bin/httpd #在根目录启动
[root@CentOS01 bin]# ./apachectl
#启动Apache
[root@CentOS01 bin]# netstat -ntpl
#netstat命令来自于英文词组”network statistics“的缩写,其功能是用于显示各种网络相关信息,例如网络连接状态、路由表信息、接口状态、NAT、多播成员等等。
浏览器测试结果:
Linux文本测试结果:
[root@CentOS01 ~]# yum -y install elinks
#安装依赖
[root@CentOS01 ~]# elinks http://192.168.9.129 -dump
#elinks命令能实现一个纯文本界面的WWW浏览器
#-dump 将HTML文档以纯文本的方式打印到标准输出设备
Apache安装完毕,大功告成!!!
上面提到的ServerName问题:
[root@CentOS01 ~]# cd /usr/local/apache/conf/
[root@CentOS01 conf]# vim httpd.conf
#进入文本界面直接输入“/ServerName”可以全局搜索关键字
添加下面字段:
重新启动Apache,没有提示报错。
参考链接:部署Apache服务器-组团学
进行优化和改错!
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
文章由极客之音整理,本文链接:https://www.bmabk.com/index.php/post/74680.html