一、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此为错误日志记录。
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(通用网关接口)脚本程序支持,便于网站的外部扩展应用访问能力
⑥第二步 :编译安装,此步骤是将包中源码转为二进制给服务器。
make -j 2
#make 编译安装
# -j 表示编译时指定几个cpu,注意:指定cpu时真机或虚拟机有几个指定几个不可超出,超出无效
⑦第三步:写进磁盘,此步骤是将转为二进制的源码存进磁盘中至此编译安装Apache结束。
⑧编译安装主配置文件位置:/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、服务管理
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脚本关闭服务
5、编译安装实现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 表示查看帮助。
systemctl stop firewalld
#关闭防火墙
setenforce 0
#关闭selinux
浏览器输入服务器地址即可
vim /apps/httpd/htdocs/index.html
#打开编译安装的主页面配置文件
修改文件内容:
successful
⑥在服务器上查看上传的图片,首先拖一张图片到/apps/httpd/htdocs/目录下。访问时只需要在服务器地址的httpd服务根目录后面加上文件名即可例如本机的:192.168.30.12/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.30.12:8080
4、httpd服务3种工作模式
①prefork:一对一模式,处理一个请求开启一个进程,缺点是httpd服务进程数有上限。
②worker:一对多模式,规定一个进程处理多少个请求,缺点是处理完自己的请求空闲不会告知服务器。
③event:一对多模式,且有一个监听进程,若有处理完请求的空闲进程会通知服务器分配新的请求。
5、httpd服务处理过程
①建立连接
②接受请求
③处理请求
④访问资源
原文地址:https://blog.csdn.net/weixin_67287151/article/details/128998432
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如若转载,请注明出处:http://www.7code.cn/show_22506.html
如若内容造成侵权/违法违规/事实不符,请联系代码007邮箱:suwngjj01@126.com进行投诉反馈,一经查实,立即删除!