Apache部署与配置

概述

        介绍

        Apache  HTTP Server(简称Apache)是Apache的一个开源的网页服务器,它源自NCSAhttpd服务器,并经过多次修改和发展,如今已经成为全球范围内广泛使用的Web服务器软件之一

        特点

        跨平台:可以运行在几乎所有广泛使用的计算机平台上

        高效性能:能够处理大量的并发连接,满足大型网站的需求

        稳定性:服务器稳定性高,运行时间长,可提供持续的服务

        安全性:提供了多种安全功能,如SSL/TLS加密、访问控制等,以保护用户数据的安全

        功能

        支持通用网关接口(CGI)、基于IP和基于域名的虚拟主机、多种方式的HTTP认证

        支持服务器端包含指令(SSI)、安全Socket层(SSL)

        支持SSL技术,支持多个虚拟主机

安装部署

        环境准备

#准备一台Linux虚拟机,IP地址为192.168.221.151
systemctl stop firewalld               #关闭防火墙
setenforce 0                           #关闭selinux

        安装 

#源代码编译安装
yum -y install gcc gcc-* make        #准备编译安装工具
yum -y install apr-util-devel pcre-devel zlib-devel        #准备依赖包
tar -zxvf   httpd-2.4.59.tar.gz   -C   /usr/src            #解压安装包
cd /usr/src/httpd-2.4.59/            #切换到解压后的目录#配置安装路径
./configure --prefix=/usr/local/httpd --enable-so --enable-rewrite --enable-charset-lite --enable-cgi            #配置安装路径
make && make    install    #编译并安装#使用编译安装,systemctl命令可能会无法使用,运行以下代码
ln -s /usr/local/httpd/bin/* /usr/local/bin/
cat > /lib/systemd/system/httpd.service << 'EOF'
[Unit]
Description=The Apache HTTP Server
After=network.target
[Service]
Type=forking
PIDFile=/usr/local/httpd/logs/httpd.pid
ExecStart= /usr/local/bin/apachectl $OPTIONS
ExecrReload= /bin/kill -HUP $MAINPID
[Install]
WantedBy=multi-user.target
EOF#启动服务并设置开机自启动
systemctl start httpd
systemctl enable httpd

        测试

        如果是yum安装的话应该会显示Testing123.....页面

配置

        配置文件

        安装完成后在我们设置的安装目录下即可看到几个目录        

        conf:存放配置文件

        httpd.conf:位于conf目录下,是httpd的主配置文件

        htdocs:存放html网页,前面测试的It works!网页就放在这里

#编辑主配置文件
vi /usr/local//httpd/conf/httpd.conf
ServerRoot "/usr/local/httpd"        #定义服务器配置文件的根目录
Listen 80                            #设置监听的端口为80
ServerName 192.168.221.151           #定义服务器的主机名
DocumentRoot "/usr/local/httpd/htdocs"        #定义网站根目录,即HTTP请求访问的默认目录
DirectoryIndex index.html            #定义访问网站根目录时默认索引文件<Directory "/usr/local/httpd/htdocs">    #对特定的目录进行设置AllowOverride None                    #设置特殊属性,none表示不设置,all表示允许Require all granted                   #允许所有人访问,denied表示拒绝
</Directory>

        示例

#在htdocs目录下创建test目录并编写一个网页
echo "<h1>test html</h1>" > ftx.html#在主配置文件中编辑配置
DocumentRoot "/usr/local/httpd/htdocs/test"    #将默认访问目录改为刚创建的test目录
<Directory "/usr/local/httpd/htdocs/test">     #配置这个目录AllowOverride NoneRequire all granted
</Directory>DirectoryIndex ftx.html           #将索引改为这个网页,不修改的话则需要在IP后添加ftx.html#保存然后重启服务

连接保持

        Keep-Alive 允许客户端和服务器在单个 TCP 连接上发送和接收多个 HTTP 请求/响应,而不是为每个请求/响应都创建和销毁一个新的 TCP 连接,这可以显著提高性能和效率

        KeepAlive配置文件在httpd/conf/extra/httpd-default.conf

配置

        KeepAliveTimeout:一次连接多次请求之间的最大间隔时间,两次请求超过该时间连接断开

        KeepAlive On:是否打开连接保持,OFF关闭,ON打开

        MaxKeepAliveRequests:一次长连接能够传输的最大请求量  

        然后在主配置文件495行左右取消注释Include conf/extra/httpd-default.conf,即可开启

访问控制

作用

        控制对网站资源的访问

        为特定的网站目录添加访问授权

常用访问控制方式

        客户机地址限制

        用户授权限制

        客户机地址限制

#编辑主配置文件
<Directory "/usr/local/httpd/htdocs/test">Require ip 192.168.221.147        #限制只能192.168.221.147主机访问Require ip 192.168.221.1/24       #限制只能192.168.221网段的主机访问Require all granted               #允许所有主机访问Require all denied                #拒绝所有主机访问Require local                     #仅允许本地主机访问Require [not] host <主机名或域名列表>        #允许或拒绝指定主机或域名访问Require [not] ip <IP地址或网段列表>          #允许或拒绝指定IP地址网络访问<RequireAll>                    #组合写法Require all grantedRequire not ip 192.168.221.0/24 192.168.222.0/24</RequireAll>
</Directory>#以上配置根据需要填写即可
#示例
<Directory "/usr/local/httpd/htdocs/test">Require ip 192.168.222.0/24        #只允许192.168.222网段访问
</Directory>#重启服务,这时我的宿主机就无法访问,我的宿主机网段为192.168.221

        使用用户授权限制

#创建用户,使用httpd/bin/htpasswd
cd /usr/local/httpd
#创建用户webadmin    -c 第一次创建用户时需要创建文件 -m  使用md5加密
bin/htpasswd -c -m /usr/local/httpd/conf/.awspwd zhangsan
#再添加一个lisi,这时就不需要使用-c选项
bin/htpasswd -m /usr/local/httpd/conf/.awspwd lisi#编辑主配置文件
<Directory "/usr/local/httpd/htdocs/test">AllowOverride None#Require all granted#Require ip 192.168.222.0/24            #这里要注释掉AuthName "test html"                #向用户解释他们正在尝试访问的受保护区域AuthType Basic                        #设置认证的类型,Basic 表示基本认证AuthUserFile /usr/local/httpd/conf/.awspwd    #设置用于保存用户账号、密码的认证文件路径Require valid-user             #要求只有认证文件中的合法用户才能访问
</Directory>#重启服务,访问网页时即可看到需要登录

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/373210.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

哪个充电宝口碑比较好?怎么选充电宝?2024年口碑优秀充电宝推荐

在如今快节奏的生活中&#xff0c;充电宝已然成为我们日常生活中的必备品。然而&#xff0c;市场上充电宝品牌众多&#xff0c;质量参差不齐&#xff0c;如何选择一款安全、可靠且口碑优秀的充电宝成为了消费者关注的焦点。安全性能不仅关系到充电宝的使用寿命&#xff0c;更关…

【正点原子i.MX93开发板试用连载体验】项目计划和开箱体验

本文最早发表于电子发烧友&#xff1a;【   】【正点原子i.MX93开发板试用连载体验】基于深度学习的语音本地控制 - 正点原子学习小组 - 电子技术论坛 - 广受欢迎的专业电子论坛! (elecfans.com)https://bbs.elecfans.com/jishu_2438354_1_1.html 有一段时间没有参加电子发…

clickhouse-jdbc-bridge rce

clickhouse-jdbc-bridge 是什么 JDBC bridge for ClickHouse. It acts as a stateless proxy passing queries from ClickHouse to external datasources. With this extension, you can run distributed query on ClickHouse across multiple datasources in real time, whic…

支持向量机 (support vector machine,SVM)

支持向量机 &#xff08;support vector machine&#xff0c;SVM&#xff09; flyfish 支持向量机是一种用于分类和回归的机器学习模型。在分类任务中&#xff0c;SVM试图找到一个最佳的分隔超平面&#xff0c;使得不同类别的数据点在空间中被尽可能宽的间隔分开。 超平面方…

MMGPL: 多模态医学数据分析与图提示学习| 文献速递-基于深度学习的多模态数据分析与生存分析

Title 题目 MMGPL: Multimodal Medical Data Analysis with Graph Prompt Learning MMGPL: 多模态医学数据分析与图提示学习 01 文献速递介绍 神经学障碍&#xff0c;包括自闭症谱系障碍&#xff08;ASD&#xff09;&#xff08;Lord等&#xff0c;2018年&#xff09;和阿…

kafka的副本replica

指定topic的分区和副本 通过kafka命令行工具 kafka-topics.sh --create --topic myTopic --partitions 3 --replication-factor 1 --bootstrap-server localhost:9092 执行代码时指定分区个数

基于Spring Boot框架的EAM系统设计与实现

摘 要&#xff1a;文章设计并实现一个基于Spring Boot框架的EAM系统&#xff0c;以应对传统人工管理模式存在的低效与信息管理难题。系统利用Java语言、JSP技术、MySQL数据库等技术栈&#xff0c;构建了一个B/S架构的高效管理平台&#xff0c;提升了资产管理的信息化水平。该系…

大小端详解

引例 我们知道整形(int)是4个字节&#xff0c;例如随便举个例子&#xff1a;0x01020304&#xff0c;它一共占了四个地址位&#xff0c;01,02,03,04分别占了一个字节&#xff08;一个字节就对应了一个地址&#xff09;。 那么就会有个问题&#xff1a;我们的01到底是存储在高地…

STM32的 DMA(直接存储器访问) 详解

STM32的DMA&#xff08;Direct Memory Access&#xff0c;直接存储器存取&#xff09;是一种在单片机中用于高效实现数据传输的技术。它允许外设设备直接访问RAM&#xff0c;不需要CPU的干预&#xff0c;从而释放CPU资源&#xff0c;提高CPU工作效率&#xff0c;本文基于STM32F…

C++基础(1)

目录 C的输入输出&#xff1a; 命名空间域&#xff1a; 缺省&#xff08;默认&#xff09;参数&#xff1a; 函数重载&#xff1a; 引用&#xff1a; 内联函数inline&#xff1a; 指针空值nullptr&#xff1a; C的输入输出&#xff1a; 输入&#xff1a; int a; char …

社交论坛圈子系统APP开发社交圈子小程序系统源码开源,带语音派对聊天室/圈子社交论坛及时聊天

功能// 首页左右滑动切换分类 使用资讯类app常见的滑动切换分类&#xff0c;让用户使用更方便。 2信息卡片流展示 每条信息都是一个卡片&#xff0c;头像展示会员标签&#xff0c;单图自动宽度&#xff0c;多图九宫格展示&#xff0c;底部展示信息发布地址&#xff0c;阅读量、…

采用3种稀疏降噪模型对心电信号进行降噪(Matlab R2021B)

心电信号采集自病人体表&#xff0c;是一种无创性的检测手段。因此&#xff0c;心电信号采集过程中&#xff0c;本身也已经包含了机体内部其他生命活动带来的噪声。同时&#xff0c;由于采集设备和环境中存在电流的变化&#xff0c;产生电磁发射等物理现象&#xff0c;会对心电…

Java项目:基于SSM框架实现的中小型企业财务管理系统【ssm+B/S架构+源码+数据库+答辩PPT+开题报告+毕业论文】

一、项目简介 本项目是一套基于SSM框架实现的中小型企业财务管理系统 包含&#xff1a;项目源码、数据库脚本等&#xff0c;该项目附带全部源码可作为毕设使用。 项目都经过严格调试&#xff0c;eclipse或者idea 确保可以运行&#xff01; 该系统功能完善、界面美观、操作简单…

浅谈VPS主机上的数据库性能优化

如何提高网站性能&#xff1f;一个显而易见的解决方案是升级托管账户。您的网站将拥有更多硬件资源&#xff0c;因此可以同时处理更多请求并更快地传递数据。 无论如何&#xff0c;人们都是这么认为的。但事实总是不一样。 现代网站是一个复杂的系统&#xff0c;包含许多必须…

效果惊人!LivePortrait开源数字人技术,让静态照片生动起来

不得了了,快手已经不是众人所知的那个短视频娱乐平台了。 可灵AI视频的风口尚未过去,又推出了LivePortrait--开源的数字人项目。LivePortrait让你的照片动起来,合成逼真的动态人像视频,阿里通义EMO不再是唯一选择。 让图像动起来 LivePortrait 主要提供了对眼睛和嘴唇动作的…

实体构件库设计说明方案

实体构件库设计说明方案 一、引言 在数字化设计与制造日益普及的今天&#xff0c;实体构件库作为连接设计创意与物理实现的关键桥梁&#xff0c;其重要性不言而喻。实体构件库不仅存储了各类标准化、参数化的零部件模型&#xff0c;还提供了便捷的检索、配置、优化及自动化生…

昇思MindSpore学习总结十二 —— ShuffleNet图像分类

当前案例不支持在GPU设备上静态图模式运行&#xff0c;其他模式运行皆支持。 1、ShuffleNet网络介绍 ShuffleNetV1是旷视科技提出的一种计算高效的CNN模型&#xff0c;和MobileNet, SqueezeNet等一样主要应用在移动端&#xff0c;所以模型的设计目标就是利用有限的计算资源来达…

信创:鲲鹏(arm64)+麒麟(kylin v10)离线部署k8s和kubesphere(含离线部署新方式)

本文将详细介绍&#xff0c;如何基于鲲鹏CPU(arm64)和操作系统 Kylin V10 SP2/SP3&#xff0c;利用 KubeKey 制作 KubeSphere 和 Kubernetes 离线安装包&#xff0c;并实战部署 KubeSphere 3.3.1 和 Kubernetes 1.22.12 集群。 服务器配置 主机名IPCPUOS用途master-1192.168.10…

变长输入神经网络设计

我对使用 PyTorch 可以轻松构建动态神经网络的想法很感兴趣&#xff0c;因此我决定尝试一下。 我脑海中的应用程序具有可变数量的相同类型的输入。对于可变数量的输入&#xff0c;已经使用了循环或递归神经网络。但是&#xff0c;这些结构在给定行的输入之间施加了一些顺序或层…

7.9实验室总结 SceneBuilder的使用方法+使用javafx等

由于下错了东西&#xff0c;所以一直运行不出来&#xff0c;今天一直在配置环境&#xff0c;配置好了才学&#xff0c;所以没学多少&#xff0c;看了网课学习了SceneBuilder的使用方法还有了解了javafx是怎么写项目的&#xff0c;&#xff0c; 学习了怎么跳转页面&#xff1a;…