目录
一、Apache安装
1.Apache介绍
Apache即阿帕奇是一款开源的、世界使用排名第一的Web服务器软件,其特点是简单高效、稳定安全所以被广泛应用于计算机技术的各个领域,但现在由于其抗并发性问题现在新公司大部分都使用Nginx代替
2.yum安装
yum安装可以直接使用命令:yum install httpd -y
安装过程中注意查看提示信息,若无外网则需要配置本地yum源进行安装
安装后出现版本和依赖包以及看见Complete则安装成功,如果出现error字样则表示安装出错
yum安装默认的主胚子文件位置:/etc/httpd/conf/httpd.conf
yum安装默认的主页面配置文件夹位置: /var/www/html/。注:此文件夹为默认安装时该服务器httpd服务的根目录,即访问时如:https://192.168.12.10/ 最后的/根目录表示为此文件夹
yum安装默认的日志文件位置:/var/log/httpd/access_log此为正常日志记录,/var/log/httpd/error此为错误日志记录。
3.编译安装
因为nginx逐步代替了Apache,编译安装用的比较少。
1.需要准备Apache的三个压缩包分别为:apr依赖包、apr-util依赖包以及httpd主包。本实验三个包在资源下载中即可下载名称为:编译安装Apache源码包。
2.将源码包拖入到/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
3.安装依赖环境顿编译工具
css
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开发包
4.环境准备完毕后进行编译安装三部曲:检测安装环境及工具、编译安装、写进磁盘。
5.第一步:检测安装环境及工具,指定安装目录并开启基本功能。
html
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(通用网关接口)脚本程序支持,便于网站的外部扩展应用访问能力
6.第二步 :编译安装,此步骤是将包中源码转为二进制给服务器。
html
make -j 2
#make 编译安装
# -j 表示编译时指定几个cpu,注意:指定cpu时真机或虚拟机有几个指定几个不可超出,超出无效
7.第三步:写进磁盘,此步骤是将转为二进制的源码存进磁盘中至此编译安装Apache结束
8.编译安装主配置文件位置:/apps/httpd/conf/httpd.conf。/apps为安装是指定的安装目录,若安装在其他目录则在对应目录下的/httpd/conf/httpd.conf。
9.编译安装主页面配置文件夹位置:/apps/httpd/htdocs。 /apps为安装是指定的安装目录,若安装在其他目录则在对应目录下的/httpd/htdocs。此文件夹为默认安装时该服务器httpd服务的根目录,即访问时如:https://192.168.30.12/ 最后的/根目录表示为此文件夹!!!
10.编译安装的日志文件位置:/apps/httpd/logs/access_log此为正常日志记录,/apps/httpd/logs/error此为错误日志记录。/apps为安装是指定的安装目录,若安装在其他目录则在对应目录下的/httpd/logs/access_log和/httpd/logs/error
4.服务管理
yum安装的Apache服务自带systemctl管理
html
systemctl start httpd
#开启服务
systemctl stop httpd
#关闭服务
systemctl status httpd
#查看服务状态
二、Apache配置应用
1.基础应用
①httpd -t 检查主配置文件是否有问题,有Syntax OK字样则表示无问题。
②httpd -h 表示查看帮助。
③httpd -v 表示查看版本
yum安装隐藏版本号只需要在主配置文件最后一行中添加:ServerTokens Prod[uctOnly] :Server: Apache,然后重启服务即可。
yum安装和编译安装更改监听端口都是在主配置文件中找到Listen 80 将80改为自己想要监听的端口重启服务即可。
2.http服务三种工作模式
①prefork:一对一模式,处理一个请求开启一个进程,缺点是httpd服务进程数有上限。
②worker:一对多模式,规定一个进程处理多少个请求,缺点是处理完自己的请求空闲不会告知服务器。
③event:一对多模式,且有一个监听进程,若有处理完请求的空闲进程会通知服务器分配新的请求
3.httpd服务处理过程
①建立连接
②接受请求
③处理请求
④访问资源
⑤构建响应报文
⑥发送响应报文
⑦记录日志