当前位置: 首页 > news >正文

Apache httpd-2.4安装并配置转发

目录

  • 一、写在前面
  • 二、下载Apache
  • 三、编译安装依赖库
    • 3.1 编译安装apr
    • 3.2 编译安装apr-util
    • 3.3 编译安装pcre
  • 四、编译安装及启动Apache
    • 4.1 编译安装Apache
    • 4.2 启动Apache
  • 五、配置Apache
    • 5.1 备份 httpd.conf
    • 5.2 启用代理模块
    • 5.3 修改监听端口
    • 5.4 配置转发规则
  • 六、常用指令
    • 6.1 启动Apache指令:
    • 6.2 查看启动情况
    • 6.3 重启Apache
  • 七、写在后面

一、写在前面

(由于考虑到公司业务和代码安全性问题,所有内容已脱敏)

下载方式为 手动下载和 wget 下载。

Linux下安装路径以本人习惯为准,可根据需求自行更改。

参考文献
Apache安装编译遇到APR的问题

二、下载Apache

以下为 wget 下载教程,也可手动访问 wget 后链接手动下载并上传服务器。

从https://httpd.apache.org/download.cgi下载Apache,本文使用的是2.4.58版本。

wget https://dlcdn.apache.org/httpd/httpd-2.4.58.tar.gz

同时还需要下载依赖库:

wget http://archive.apache.org/dist/apr/apr-1.4.5.tar.gz  
wget http://archive.apache.org/dist/apr/apr-util-1.3.12.tar.gz  
wget http://jaist.dl.sourceforge.net/project/pcre/pcre/8.10/pcre-8.10.zip

将四个压缩包移动到服务器同一目录/tmp/apache2.4.58-install,将Apache中所有文件复制到/apps/apache2.4.58-install中

mkdir /apps/apache2.4.58-install/
cd /apps/apache2.4.58-install/
cp /tmp/apache2.4.58-install/* /apps/apache2.4.58-install/ # 拷贝Apache和依赖库
ls # 查看拷贝结果

三、编译安装依赖库

apache2.4 版本后需要三个依赖: aprapr-utilpcre ,所有进行优先编译安装。

3.1 编译安装apr

cd /apps/apache2.4.58-install/
tar -zxf apr-1.4.5.tar.gz # 解压 apr
cd apr-1.4.5
./configure --prefix=/apps/apr
make && make install

3.2 编译安装apr-util

cd /apps/apache2.4.58-install/
tar -zxf apr-util-1.3.12.tar.gz # 解压 apr-util
cd apr-util-1.3.12
./configure --prefix=/apps/apr-util --with-apr=/apps/apr
make && make install

3.3 编译安装pcre

cd /apps/apache2.4.58-install/
unzip -o pcre-8.10.zip # 解压 pcre
cd pcre-8.10  
./configure --prefix=/apps/pcre  
make && make install

四、编译安装及启动Apache

4.1 编译安装Apache

解压安装包并进入目录:

cd /apps/apache2.4.58-install/
tar -xzvf httpd-2.4.58.tar.gz
cd httpd-2.4.58

执行configure脚本:

./configure --prefix=/apps/apache2.4.58 --with-apr=/apps/apr --with-apr-util=/apps/apr-util --with-pcre=/apps/pcre

如果找不到 pcre-config ,报错如下:

checking for pcre-config... pcre-config
configure: error: Did not find working script at pcre-config

就具体到 pcre-config 路径执行:

./configure --prefix=/apps/apache2.4.58 --with-apr=/apps/apr --with-apr-util=/apps/apr-util --with-pcre=/apps/pcre/bin/pcre-config

然后编译并安装:

make && make install 

4.2 启动Apache

启动Apache指令:

如果有配置文件,则可以修改完配置文件再进行启动

/apps/apache2.4.58/bin/apachectl start

五、配置Apache

5.1 备份 httpd.conf

第一次修改 httpd.conf 可以先备份 httpd.conf 文件

cp /apps/apache2.4.58/conf/httpd.conf /apps/apache2.4.58/conf/httpd.conf.copy

5.2 启用代理模块

在httpd主配置文件中,取消以下两个模块的注释:

LoadModule proxy_module modules/mod_proxy.so
LoadModule proxy_http_module modules/mod_proxy_http.so
# 编辑配置文件
vim /apps/apache2.4.58/conf/httpd.conf

即将:

#LoadModule proxy_module modules/mod_proxy.so
#LoadModule proxy_http_module modules/mod_proxy_http.so

改为:(也可以在对应位置添加以下模块)

# 代理模块 需要启动 mod_proxy 和 mod_proxy_http
LoadModule proxy_module modules/mod_proxy.so
LoadModule proxy_http_module modules/mod_proxy_http.so

5.3 修改监听端口

默认监听80端口,可以通过修改httpd主配置文件中的Listen指令修改监听端口:

# 本文以修改 8080 为例
Listen 8080

5.4 配置转发规则

将访问8080的端口访问转发到7080上面来

在httpd主配置文件中添加以下内容:

<VirtualHost *:8080>ProxyPreserveHost OnProxyPass /  http://xx.xx.xx.xx:7080/ProxyPassReverse /  http://xx.xx.xx.xx:7080/
</VirtualHost>

其中xx.xx.xx.xx是被转发的目标地址。

如果此时 Apache 已经启动,需要重启 Apache 才能让配置生效。
启动指令参考本文 6.1
重启指令参考本文 6.3

六、常用指令

6.1 启动Apache指令:

如果有配置文件,则可以修改完配置文件再进行启动

/apps/apache2.4.58/bin/apachectl start

6.2 查看启动情况

方法一:列出所有正在运行的与"httpd"相关的进程

ps aux | grep httpd

如果上述命令没有输出任何结果,或者没有显示与"httpd"相关的进程,则表示Apache没有成功启动。

方法二:列出所有正在运行的与"httpd"相关的进程

# 这里的 8080 需要改为你监听的端口 
netstat -tuln | grep 8080

如果Apache正在监听端口80(或其他HTTP端口),则命令的输出中应该会显示类似于以下内容:

tcp        0      0 0.0.0.0:8080                0.0.0.0:*                   LISTEN  

这表明Apache已成功启动并正在监听端口80,以接受HTTP请求。

6.3 重启Apache

执行以下命令重启Apache,重启可以让配置文件生效:

/apps/apache2.4.58/bin/apachectl restart

七、写在后面

欢迎关注,会经常记录一些工作中遇到的问题。

欢迎随时留言讨论,与君共勉,知无不答!

相关文章:

Apache httpd-2.4安装并配置转发

目录 一、写在前面二、下载Apache三、编译安装依赖库3.1 编译安装apr3.2 编译安装apr-util3.3 编译安装pcre 四、编译安装及启动Apache4.1 编译安装Apache4.2 启动Apache 五、配置Apache5.1 备份 httpd.conf5.2 启用代理模块5.3 修改监听端口5.4 配置转发规则 六、常用指令6.1 …...

【Cisco Packet Tracer】DHCP/FTP/WEB/DNS实验

本文使用CiscoPacketTracer仿真软件实现了DHCP/FTP/WEB/DNS实验&#xff0c;拓扑中包含2个客户机和3个服务器&#xff08;DHCP服务器、DNS服务器、FTP/WEB公用一个服务器&#xff09;&#xff0c;客户机的IP地址由DHCP服务器动态分配。 DHCP服务器IP地址&#xff1a;192.168.0…...

模糊C均值聚类(Fuzzy C-means clustering,FCM)的基本概念,详细流程以及广泛应用!

文章目录 1.基本概念2. FCM的详细流程3.FCM的应用 1.基本概念 模糊C均值聚类&#xff08;Fuzzy C-means clustering&#xff0c;FCM&#xff09;是一种软聚类方法&#xff0c;它允许数据点属于多个聚类中心&#xff0c;每个聚类中心都有一个权重。与传统的硬聚类方法&#xff…...

chapter10-homework-Java

第十章作业 Homework01知识点 Homework02知识点 Homework03知识点 Homework04知识点 Homework05知识点 Homework06Homework07Homework08 Homework01 分析执行结果。 public static void main(String[] args) {Car_ c new Car_();Car_ c1 new Car_(100);System.out.println(…...

前端如何中断请求 ( axios、原生 ajax、fetch)

使用场景 在前端开发中&#xff0c;我们经常需要中断请求来优化性能或处理特定的业务需求。以下是一些常见的使用场景&#xff1a; 比如 重复请求&#xff1a;当页面中多个组件并发调用同一个接口时&#xff0c;在第一个请求返回后&#xff0c;我们可能需要中断其他组件对该接…...

CSS实现一些小功能

1.信封边框的实现 1.1 使用背景渐变 <!DOCTYPE html><html><head><meta charset"UTF-8"><title></title><style type"text/css">.uu {width: 200px;height: 70px;padding:1em;border: 1em solid transparent;…...

Ubuntu安装nfs服务步骤

Ubuntu安装nfs服务步骤 一、NFS&#xff1f; NFS&#xff1a;网络文件系统&#xff08;Network File system File&#xff09;缩写&#xff0c;可通过网络让不同的机器&#xff0c;不同操作系统之间可以彼此共享文件和目录。 二、安装 1.安装nfs服务器命令&#xff1a;sudo…...

android开发:子线程更新UI界面

多线程操作经常希望在子线程更新界面&#xff0c;这样方便调试&#xff0c;但是&#xff0c;但是经常这样做程序就不对劲了&#xff0c;为什么呢&#xff1f;因为为了保证界面流畅&#xff0c;不允许在非UI线程直接操作界面&#xff0c;只能通过一些专门途径进行。另外&#xf…...

P9242 [蓝桥杯 2023 省 B] 接龙数列(dp+最长接龙序列+分类)

1. 计算0~9为结尾的最长子串长度 2. 对于每个数字&#xff0c;比较其开头可连接子串长度1 与 原来以其末位为末尾的子串长度 3. 更新以其末位为末尾的子串长度 #include<iostream> #include<string.h>using namespace std;// 相当于记录…...

网络运维与网络安全 学习笔记2023.11.29

网络运维与网络安全 学习笔记 第三十天 今日更新太晚啦&#xff01;&#xff01;&#xff01; 主要是今天工作时挨了一天骂&#xff0c;服了&#xff0c;下次记得骂的轻一点&#xff01;&#xff01;&#xff01; &#xff08;要不是为了那点微薄的薪资&#xff0c;谁愿意听你…...

Java实现通过经纬度求两个任意地点在球面上的距离

我们在实际开发中会获取对应的经纬度&#xff0c;可以使用ES大数据搜索引擎进行计算对应区域的数据&#xff0c;那我们在如何根据两个经纬度获取对应的球面距离&#xff0c;就是在地球上从一个地点到另一个地点的直线距离 工具类如下: public class GeoUtils {// 地球半径&am…...

vscode使用插件KoroFileHeader添加注释

一、简介 KoroFileHeader 是一款用于在 VSCode 中用于生成文件头部注释和函数注释的插件&#xff0c;支持所有主流语言&#xff0c;功能强大&#xff0c;灵活方便&#xff0c;文档齐全。 VSCode 安装 KoroFileHeader 好插件&#xff0c;就可以直接使用。 "fileheader.cu…...

NSAttributedString设置折行方式NSLineBreakByTruncatingTail,计算高度出错,高度返回异常。

iOS13上&#xff0c;NSAttributedString设置折行方式NSLineBreakByTruncatingTail&#xff0c;计算高度出错&#xff0c;只返回一行的高度。 NSMutableParagraphStyle *style [[NSMutableParagraphStyle alloc]init]; style.hyphenationFactor 1; // 设置每行的最后单词是…...

YOLOv8改进 | 2023 | DWRSeg扩张式残差助力小目标检测 (附修改后的C2f+Bottleneck)

论文地址&#xff1a;官方论文地址 代码地址&#xff1a;该代码目前还未开源&#xff0c;我根据论文内容进行了复现内容在文章末尾。 一、本文介绍 本文内容给大家带来的DWRSeg中的DWR模块来改进YOLOv8中的C2f和Bottleneck模块&#xff0c;主要针对的是小目标检测&#xff0c…...

ssm+vue的物资物流系统的设计与实现(有报告)。Javaee项目,ssm vue前后端分离项目。

演示视频&#xff1a; ssmvue的物资物流系统的设计与实现&#xff08;有报告&#xff09;。Javaee项目&#xff0c;ssm vue前后端分离项目。 项目介绍&#xff1a; 采用M&#xff08;model&#xff09;V&#xff08;view&#xff09;C&#xff08;controller&#xff09;三层体…...

纵行科技获评“汽车物流行业优秀技术装备供应商”

近日&#xff0c;由中国物流与采购联合会主办&#xff0c;中物联汽车物流分会承办的“2023年全国汽车物流行业年会”在湖北十堰盛大召开。本次年会集合了汽车整车、零部件、售后备件、进出口物流企业和物流装备技术企业、科研机构及院校等&#xff0c;分享汽车物流行业现状、相…...

Chrome和chromedriver版本不匹配导致的UI自动化测试无法运行的问题

今天&#xff0c;遇到一个小问题&#xff0c;本来跑的好好UI自动化测试脚本突然不好使了&#xff0c;期初怀疑是页面元素有调整导致脚本出现异常无法正常执行&#xff0c;经排查后发现近期页面没有任何调整。 这下头大了&#xff0c;啥也没改&#xff0c;怎么好好的脚本不能跑…...

[go 面试] 深入理解进程、线程和协程的概念及区别

关注公众号【爱发白日梦的后端】分享技术干货、读书笔记、开源项目、实战经验、高效开发工具等&#xff0c;您的关注将是我的更新动力&#xff01; 在操作系统中&#xff0c;我们经常听到进程、线程和协程这些概念&#xff0c;它们都是用来描述执行单元的。接下来&#xff0c;我…...

人工智能即将彻底改变你使用计算机的方式

文章目录 每个人的私人助理“Clippy 是一个机器人&#xff0c;而不是特工。”卫生保健“一半需要心理健康护理的美国退伍军人没有得到治疗。”教育生产率娱乐和购物科技行业的冲击波技术挑战隐私和其他重大问题 今天我仍然像保罗艾伦和我创办微软时一样热爱软件。但是&#xff…...

工艺系统所管理数字化实践

摘要 本文介绍了上海核工程设计研究院在数字化转型方面的实践&#xff0c;包括业务数字化和管理数字化两个方面。业务数字化方面&#xff0c;该院通过开发小工具改进工作流程。管理数字化方面&#xff0c;该院采用零代码平台集中管理管道力学信息相关模型和数据&#xff0c;并…...

网络编程(Modbus进阶)

思维导图 Modbus RTU&#xff08;先学一点理论&#xff09; 概念 Modbus RTU 是工业自动化领域 最广泛应用的串行通信协议&#xff0c;由 Modicon 公司&#xff08;现施耐德电气&#xff09;于 1979 年推出。它以 高效率、强健性、易实现的特点成为工业控制系统的通信标准。 包…...

深入浅出Asp.Net Core MVC应用开发系列-AspNetCore中的日志记录

ASP.NET Core 是一个跨平台的开源框架&#xff0c;用于在 Windows、macOS 或 Linux 上生成基于云的新式 Web 应用。 ASP.NET Core 中的日志记录 .NET 通过 ILogger API 支持高性能结构化日志记录&#xff0c;以帮助监视应用程序行为和诊断问题。 可以通过配置不同的记录提供程…...

dedecms 织梦自定义表单留言增加ajax验证码功能

增加ajax功能模块&#xff0c;用户不点击提交按钮&#xff0c;只要输入框失去焦点&#xff0c;就会提前提示验证码是否正确。 一&#xff0c;模板上增加验证码 <input name"vdcode"id"vdcode" placeholder"请输入验证码" type"text&quo…...

1.3 VSCode安装与环境配置

进入网址Visual Studio Code - Code Editing. Redefined下载.deb文件&#xff0c;然后打开终端&#xff0c;进入下载文件夹&#xff0c;键入命令 sudo dpkg -i code_1.100.3-1748872405_amd64.deb 在终端键入命令code即启动vscode 需要安装插件列表 1.Chinese简化 2.ros …...

C++中string流知识详解和示例

一、概览与类体系 C 提供三种基于内存字符串的流&#xff0c;定义在 <sstream> 中&#xff1a; std::istringstream&#xff1a;输入流&#xff0c;从已有字符串中读取并解析。std::ostringstream&#xff1a;输出流&#xff0c;向内部缓冲区写入内容&#xff0c;最终取…...

【OSG学习笔记】Day 16: 骨骼动画与蒙皮(osgAnimation)

骨骼动画基础 骨骼动画是 3D 计算机图形中常用的技术&#xff0c;它通过以下两个主要组件实现角色动画。 骨骼系统 (Skeleton)&#xff1a;由层级结构的骨头组成&#xff0c;类似于人体骨骼蒙皮 (Mesh Skinning)&#xff1a;将模型网格顶点绑定到骨骼上&#xff0c;使骨骼移动…...

CMake控制VS2022项目文件分组

我们可以通过 CMake 控制源文件的组织结构,使它们在 VS 解决方案资源管理器中以“组”(Filter)的形式进行分类展示。 🎯 目标 通过 CMake 脚本将 .cpp、.h 等源文件分组显示在 Visual Studio 2022 的解决方案资源管理器中。 ✅ 支持的方法汇总(共4种) 方法描述是否推荐…...

[免费]微信小程序问卷调查系统(SpringBoot后端+Vue管理端)【论文+源码+SQL脚本】

大家好&#xff0c;我是java1234_小锋老师&#xff0c;看到一个不错的微信小程序问卷调查系统(SpringBoot后端Vue管理端)【论文源码SQL脚本】&#xff0c;分享下哈。 项目视频演示 【免费】微信小程序问卷调查系统(SpringBoot后端Vue管理端) Java毕业设计_哔哩哔哩_bilibili 项…...

从 GreenPlum 到镜舟数据库:杭银消费金融湖仓一体转型实践

作者&#xff1a;吴岐诗&#xff0c;杭银消费金融大数据应用开发工程师 本文整理自杭银消费金融大数据应用开发工程师在StarRocks Summit Asia 2024的分享 引言&#xff1a;融合数据湖与数仓的创新之路 在数字金融时代&#xff0c;数据已成为金融机构的核心竞争力。杭银消费金…...

深入浅出WebGL:在浏览器中解锁3D世界的魔法钥匙

WebGL&#xff1a;在浏览器中解锁3D世界的魔法钥匙 引言&#xff1a;网页的边界正在消失 在数字化浪潮的推动下&#xff0c;网页早已不再是静态信息的展示窗口。如今&#xff0c;我们可以在浏览器中体验逼真的3D游戏、交互式数据可视化、虚拟实验室&#xff0c;甚至沉浸式的V…...