一、Apache安装

1. Apache简介

Apache即阿帕奇是一款开源的、世界使用排名第一的Web服务器软件,其特点是简单高效、稳定安全所以被广泛应用于计算机技术的各个领域,但现在由于其抗并发性问题现在新公司大部分都使用Nginx代替。

2. YUM安装

  • yum安装与其他程序一样可以直接使用命令:yum install  httpd  -y。
  • 安装过程中注意查看提示信息,若无外网则需要配置本地yum源进行安装。
  • 出现以下提示即表示安装成功。注意:若出现error字样则表示安装出错!!!
  • yum安装默认的主配置文件位置: /etc/httpd/conf/httpd.conf。
  •  yum安装默认的主页面配置文件夹位置: /var/www/html/。注:此文件夹为默认安装时该服务器httpd服务的根目录,即访问时如:https://192.168.30.12/  最后的/根目录表示为此文件夹!!!
  • yum安装默认的日志文件位置:/var/log/httpd/access_log此为正常日志记录,/var/log/httpd/error此为错误日志记录。

Apache Storm安装 依赖 apache如何安装_配置文件

 

3. 编译安装

  • 需要准备Apache的三个压缩包分别为:apr依赖包、apr-util依赖包以及httpd主包。本实验三个包在资源下载中即可下载名称为:编译安装Apache源码包。
  • 将源码包拖入到/opt目录中并解压,将apr和apr-util包剪切到httpd主包的srclib中并将版本号去掉

 

tar xf apr-1.6.2.tar.gz
#解压apr包
tar xf apr-util-1.6.0.tar.gz
#解压apr-util包
tar xf  httpd-2.4.29.tar.bz2
#解压httpd主包
mv /opt/apr-1.6.2 /opt/httpd-2.4.29/srclib/apr
#移动arp包到httpd主包的srclib中并重命名为apr
mv /opt/apr-util-1.6.0  /opt/httpd-2.4.29/srclib/apr-util
#移动arp-util包到httpd主包的srclib中并重命名为apr-util

 

  • 安装依赖环境和编译工具
yum -y install gcc gcc-c++ make pcre pcre-devel expat-devel perl openssl-devel
 
#yum -y install \                yum安装,-y表示直接同意
#gcc \                           C语言的编译器
#gcc-c++ \                       C++的编译器
#make \                          源代码编译器(源代码转换成二进制文件)
#pcre \                          pcre是一个Perl函数库,包括perl 兼容的正则表达式库
#pcre-devel \                    perl的接口开发包
#expat-devel \                   用于支持网站解析HTML、XML文件
#perl \                          perl语言编译器
#openssl-devel                   ssl开发包
  • 环境准备完毕后进行编译安装三步曲:检测安装环境及工具、编译安装、写进磁盘。

具体步骤如下:

第一步:检测安装环境及工具,指定安装目录并开启基本功能。

cd /opt/httpd-2.4.29
#进入httpd主包中
./configure --prefix=/apps/httpd --enable-so --enable-ssl --enable-cgi --enable-rewrite --with-zlib --with-pcre --with-included-apr --enable-modules=most --enable-mpms-shared=all --with-mpm=event
 
./configure \                    当前目录执行httpd包中的configure脚本
--prefix=/usr/local/httpd \      指定将 httpd 服务程序的安装文件路径
--enable-so \                    启用动态加载模块支持,使 httpd 具备进一步扩展功能的能力
--enable-rewrite \               启用网页地址重写功能,用于网站优化、防盗链及目录迁移维护
--enable-charset-lite \          启动字符集支持,以便支持使用各种字符集编码的页面
--enable-cgi                     启用CGI(通用网关接口)脚本程序支持,便于网站的外部扩展应用访问能力

 

Apache Storm安装 依赖 apache如何安装_编译安装_02

 

 

 

第二步 :编译安装,此步骤是将包中源码转为二进制给服务器。

make -j  2
 
#make   编译安装
# -j 表示编译时指定几个cpu,注意:指定cpu时真机或虚拟机有几个指定几个不可超出,超出无效

Apache Storm安装 依赖 apache如何安装_编译安装_03

 

 

 

第三步:写进磁盘,此步骤是将转为二进制的源码存进磁盘中至此编译安装Apache结束。

 

Apache Storm安装 依赖 apache如何安装_配置文件_04

 

 

 注意事项:

  • 编译安装主配置文件位置:/apps/httpd/conf/httpd.conf。/apps为安装是指定的安装目录,若安装在其他目录则在对应目录下的/httpd/conf/httpd.conf。
  • 编译安装主页面配置文件夹位置:/apps/httpd/htdocs。 /apps为安装是指定的安装目录,若安装在其他目录则在对应目录下的/httpd/htdocs。此文件夹为默认安装时该服务器httpd服务的根目录,即访问时如:https://192.168.30.12/ 最后的/根目录表示为此文件夹!!!
  • 编译安装的日志文件位置:/apps/httpd/logs/access_log此为正常日志记录,/apps/httpd/logs/error此为错误日志记录。/apps为安装是指定的安装目录,若安装在其他目录则在对应目录下的/httpd/logs/access_log和/httpd/logs/error

4. 服务管理

  • yum安装的Apache服务自带systemctl管理。

 

1 systemctl start httpd
2 #开启服务
3 systemctl stop httpd
4 #关闭服务
5 systemctl status httpd
6 #查看服务状态
  • 编译安装可以使用绝对路径来开启关闭服务。/apps/httpd/bin/指定安装路径的bin中有apache服务管理的脚本。若指定的非/apps则在对应目录下的 /httpd/bin/中。
1 /apps/httpd/bin/apachectl  start
2 #绝对路径执行apachectl脚本开启服务
3 /apps/httpd/bin/apachectl  stop
4 #绝对路径执行apachectl脚本关闭服务

 

 5. 编译安装实现systemctl服务管理

1 vim /lib/systemd/system/httpd.service
 2 #在lib/systemd/system/文件夹中创建一个.service结尾的文件,一般文件名与服务对应。
 3 文件内容:
 4  
 5 [Unit]
 6 #软件描述
 7 Description=The Apache HTTP Server
 8 #服务的描述
 9 [Service] 
10 #指定如何启动此程序
11 Type=forking
12 #类型
13 ExecStart=/apps/httpd/bin/apachectl start
14 #指定启动服务目录
15 ExecReload=/apps/httpd/bin/apachectl graceful
16 #指定热加动服务目录
17 ExecStop=/apps/httpd/bin/apachectl stop
18 #指定关闭服务目录
19 KillSignal=SIGCONT
20 PrivateTmp=true
21 [Install]
22 WantedBy=multi-user.target
23 #在图形界面开启
24 #保存退出后执行以下命令:
25  
26 systemctl  daemon-reload 
27 #重新加载systemctl配置文件
28 systemctl start httpd
29 #开启服务
30 systemctl stop httpd
31 #关闭服务
32 systemctl reload httpd
33 #热加载服务,即不停止服务只加载发生过变化的内容
34 systemctl status httpd
35 #查看服务状态
36

 

二、Apache配置应用

1. 基础应用

  • httpd  -t  检查主配置文件是否有问题,有Syntax OK字样则表示无问题。
  • httpd  -h 表示查看帮助。
  • httpd  -v 表示查看版本。

本机访问配置的httpd服务。

1 systemctl stop firewalld 
2 #关闭防火墙
3 setenforce 0
4 #关闭selinux
5  浏览器输入服务器地址即可

Apache Storm安装 依赖 apache如何安装_编译安装_05

 

 

  • 修改页面内容为自己想看到的内容。
1 vim /apps/httpd/htdocs/index.html
2 #打开编译安装的主页面配置文件
3 修改文件内容:
4  successful

Apache Storm安装 依赖 apache如何安装_编译安装_06

 

  • 在服务器上查看上传的图片,首先拖一张图片到/apps/httpd/htdocs/目录下。访问时只需要在服务器地址的httpd服务根目录后面加上文件名即可

 

 2. 隐藏版本号

  • 默认情况下是可以在访问页面是查看到版本号,方法如下。

 

 

Apache Storm安装 依赖 apache如何安装_编译安装_07

 

  •  若是yum安装隐藏版本号只需要在主配置文件最后一行中添加:ServerTokens Prod[uctOnly] :Server: Apache,然后重启服务即可。
  • 编译安装需要在主配置文件开启从配置:加入此行 Include conf/extra/httpd-default.conf
    然后在此文件中将此配置修改为:ServerTokens Prod  重启服务即可。

3. 更改监听端口

  • yum安装和编译安装更改监听端口都是在主配置文件中找到Listen 80 将80改为自己想要监听的端口重启服务即可。
  • 例如更改为8080,访问时就需要服务器地址:端口号即192.168.30.12:8080

           

Apache Storm安装 依赖 apache如何安装_Apache_08

 

 

4. httpd 服务三种工作模式

  • prefork:一对一模式,处理一个请求开启一个进程,缺点是httpd服务进程数有上限。
  • worker:一对多模式,规定一个进程处理多少个请求,缺点是处理完自己的请求空闲不会告知服务器。
  • event:一对多模式,且有一个监听进程,若有处理完请求的空闲进程会通知服务器分配新的请求。

5. httpd 服务处理过程

请求连接   接受请求  处理请求  访问资源  构建响应报文  发送响应报文  记录日志