Apache安装及应用

目录

Apache基础知识

Apache功能

Apache安装

yum安装

编译安装

服务管理

编译安装实现systemctl服务管理

Apache的配置应用

1、基础应用

2、隐藏版本号

3、更改监听端口

4、httpd服务3种工作模式

5、httpd服务处理过程 


Apache基础知识

Apache HTTP Server 之所以受到众多企业的青睐,得益于其代码开源、跨平台、功能模块化、可灵活定制等诸多优点,不仅性能稳定,在安全性方面的表现也十分出色。

Apache功能

提供http协议服务

多个虚拟主机:IP、Port、FQDN

CGI:Common Gateway Interface,通用网关接口,支持动态程序

反向代理

负载均衡

路径别名

丰富的用户认证机制:basic,digest

支持第三方模块

Apache安装

yum安装

yum instal -y httpd

rpm -ql httpd  查看文件列表

/etc/httpd/conf/httpd.conf 
#主配置文件

/etc/httpd/conf.d/*.conf 
#子配置文件

/etc/httpd/conf.d/conf.modules.d/ 
#模块加载的配置文件

#检查配置语法:
httpd -t 或 apache2 -t 

#服务单元文件:

/usr/lib/systemd/system/httpd.service

#配置文件:
/etc/sysconfig/httpd


#服务控制和启动

systemctl enable|disable httpd.service

systemctl {start|stop|restart|status|reload} httpd.service

apachectl start|stop|restart|configtest

#站点网页文档根目录:
/var/www/html

#模块文件路径:
/etc/httpd/modules
/usr/lib64/httpd/modules

#主服务器程序文件:
/usr/sbin/httpd

#主进程文件:
/etc/httpd/run/httpd.pid 

#日志文件目录:
/var/log/httpd
access_log: 访问日志
error_log:错误日志

yum安装默认的主页面配置文件夹位置: /var/www/html/。注:此文件夹为默认安装时该服务器httpd服务的根目录,即访问时如:https://192.168.131.100/  最后的/根目录表示为此文件夹!!!

yum安装默认的日志文件位置:/var/log/httpd/access_log此为正常日志记录,/var/log/httpd/error此为错误日志记录。

编译安装

安装依赖环境

yum -y install gcc gcc-c++ make pcre pcre-devel expat-devel perl openssl-devel
#安装依赖环境,编译工具等
yum -y install \
gcc \							 C语言的编译器
gcc-c++ \						 C++的编译器
make \							 源代码编译器(源代码转换成二进制文件)
pcre \							 pcre是一个Perl函数库,包括perl 兼容的正则表达式库
pcre-devel \                     perl的接口开发包
expat-devel \                    用于支持网站解析HTML、XML文件
perl \                            perl语言编译器
openssl-devel                     ssl开发包

需要准备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

然后开始编辑安装三部曲:检测安装环境,编译安装,安装到硬盘

检测安装环境

./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 \
--prefix=/usr/local/httpd \		 指定将 httpd 服务程序的安装文件路径
--enable-so \					 启用动态加载模块支持,使 httpd 具备进一步扩展功能的能力
--enable-rewrite \				 启用网页地址重写功能,用于网站优化、防盗链及目录迁移维护
--enable-charset-lite \			 启动字符集支持,以便支持使用各种字符集编码的页面
--enable-cgi					 启用CGI(通用网关接口)脚本程序支持,便于网站的外部扩展应用访问能力

编译安装

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

安装到硬盘

make install

ln -s /apps/httpd/conf/httpd.conf  /etc/
ln -s /apps/httpd/bin/*  /usr/local/bin/

注意:如果期间出现error提示则表示出错,需要进行排查

服务管理

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

systemctl start httpd
#开启服务
systemctl stop httpd
#关闭服务
systemctl status httpd
#查看服务状态

编译安装可以使用绝对路径来开启关闭服务。/apps/httpd/bin/指定安装路径的bin中有apache服务管理的脚本。若指定的非/apps则在对应目录下的 /httpd/bin/中。

/apps/httpd/bin/apachectl  start
#绝对路径执行apachectl脚本开启服务
/apps/httpd/bin/apachectl  stop
#绝对路径执行apachectl脚本关闭服务

编译安装实现systemctl服务管理

vim /lib/systemd/system/httpd.service
#在lib/systemd/system/文件夹中创建一个.service结尾的文件,一般文件名与服务对应。
文件内容:
 
[Unit]
#软件描述
Description=The Apache HTTP Server
#服务的描述
[Service] 
#指定如何启动此程序
Type=forking
#类型
ExecStart=/apps/httpd/bin/apachectl start
#指定启动服务目录
ExecReload=/apps/httpd/bin/apachectl graceful
#指定热加动服务目录
ExecStop=/apps/httpd/bin/apachectl stop
#指定关闭服务目录
KillSignal=SIGCONT
PrivateTmp=true
[Install]
WantedBy=multi-user.target
#在图形界面开启
#保存退出后执行以下命令:
 
systemctl  daemon-reload 
#重新加载systemctl配置文件
systemctl start httpd
#开启服务
systemctl stop httpd
#关闭服务
systemctl reload httpd
#热加载服务,即不停止服务只加载发生过变化的内容
systemctl status httpd
#查看服务状态

Apache的配置应用

1、基础应用

①httpd  -t  检查主配置文件是否有问题,有Syntax OK字样则表示无问题。

②httpd  -h 表示查看帮助。

③httpd  -v 表示查看版本。

④本机访问配置的httpd服务。

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

 ⑤修改页面内容为自己想看到的内容

vim /apps/httpd/htdocs/index.html
#打开编译安装的主页面配置文件
修改文件内容:
 
successful

 ⑥在服务器上查看上传的图片,首先拖一张图片到/apps/httpd/htdocs/目录下。访问时只需要在服务器地址的httpd服务根目录后面加上文件名即可例如本机的:192.168.131.100/a.jpg。

2、隐藏版本号

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

 ②若是yum安装隐藏版本号只需要在主配置文件最后一行中添加:ServerTokens Prod[uctOnly] :Server: Apache,然后重启服务即可。

③编译安装需要在主配置文件开启从配置:加入此行 Include conf/extra/httpd-default.conf
然后在此文件中将此配置修改为:ServerTokens Prod  重启服务即可。

修改完

 

 

3、更改监听端口

①yum安装和编译安装更改监听端口都是在主配置文件中找到Listen 80 将80改为自己想要监听的端口重启服务即可。

②例如更改为8080,访问时就需要服务器地址:端口号即192.168.131.100:8080

 

修改完

 

 

4、httpd服务3种工作模式

①prefork:一对一模式,处理一个请求开启一个进程,缺点是httpd服务进程数有上限。

②worker:一对多模式,规定一个进程处理多少个请求,缺点是处理完自己的请求空闲不会告知服务器。

③event:一对多模式,且有一个监听进程,若有处理完请求的空闲进程会通知服务器分配新的请求。

5、httpd服务处理过程 

①建立连接

②接受请求

③处理请求

④访问资源

⑤构建响应报文

⑥发送响应报文

⑦记录日志

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值