一、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. 服务管理
- 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 浏览器输入服务器地址即可
- 修改页面内容为自己想看到的内容。
1 vim /apps/httpd/htdocs/index.html 2 #打开编译安装的主页面配置文件 3 修改文件内容: 4 successful
- 在服务器上查看上传的图片,首先拖一张图片到/apps/httpd/htdocs/目录下。访问时只需要在服务器地址的httpd服务根目录后面加上文件名即可
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 服务三种工作模式
- prefork:一对一模式,处理一个请求开启一个进程,缺点是httpd服务进程数有上限。
- worker:一对多模式,规定一个进程处理多少个请求,缺点是处理完自己的请求空闲不会告知服务器。
- event:一对多模式,且有一个监听进程,若有处理完请求的空闲进程会通知服务器分配新的请求。
5. httpd 服务处理过程
请求连接 接受请求 处理请求 访问资源 构建响应报文 发送响应报文 记录日志
标签:httpd,服务,--,配置,apps,apr,Apache,安装 From: https://www.cnblogs.com/daiwei-123/p/17184136.html