Apache httpd-2.4安装并配置转发

目录

一、写在前面

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

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

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

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

二、下载Apache

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

https://httpd.apache.org/download.cgi下载Apache,本文使用的是[2.4.58](https://dlcdn.apache.org/httpd/httpd-2.4.58.tar.gz)版本。

bash 复制代码
wget https://dlcdn.apache.org/httpd/httpd-2.4.58.tar.gz

同时还需要下载依赖库:

bash 复制代码
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中

bash 复制代码
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

bash 复制代码
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

bash 复制代码
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

bash 复制代码
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

解压安装包并进入目录:

bash 复制代码
cd /apps/apache2.4.58-install/
tar -xzvf httpd-2.4.58.tar.gz
cd httpd-2.4.58

执行configure脚本:

bash 复制代码
./configure --prefix=/apps/apache2.4.58 --with-apr=/apps/apr --with-apr-util=/apps/apr-util --with-pcre=/apps/pcre

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

bash 复制代码
checking for pcre-config... pcre-config
configure: error: Did not find working script at pcre-config

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

bash 复制代码
./configure --prefix=/apps/apache2.4.58 --with-apr=/apps/apr --with-apr-util=/apps/apr-util --with-pcre=/apps/pcre/bin/pcre-config

然后编译并安装:

bash 复制代码
make && make install 

4.2 启动Apache

启动Apache指令:

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

bash 复制代码
/apps/apache2.4.58/bin/apachectl start

五、配置Apache

5.1 备份 httpd.conf

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

bash 复制代码
cp /apps/apache2.4.58/conf/httpd.conf /apps/apache2.4.58/conf/httpd.conf.copy

5.2 启用代理模块

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

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

即将:

bash 复制代码
#LoadModule proxy_module modules/mod_proxy.so
#LoadModule proxy_http_module modules/mod_proxy_http.so

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

bash 复制代码
# 代理模块 需要启动 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指令修改监听端口:

bash 复制代码
# 本文以修改 8080 为例
Listen 8080

5.4 配置转发规则

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

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

bash 复制代码
<VirtualHost *:8080>
    ProxyPreserveHost On
    ProxyPass /  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指令:

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

bash 复制代码
/apps/apache2.4.58/bin/apachectl start

6.2 查看启动情况

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

bash 复制代码
ps aux | grep httpd

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

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

bash 复制代码
# 这里的 8080 需要改为你监听的端口 
netstat -tuln | grep 8080

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

bash 复制代码
tcp        0      0 0.0.0.0:8080                0.0.0.0:*                   LISTEN  

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

6.3 重启Apache

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

bash 复制代码
/apps/apache2.4.58/bin/apachectl restart

七、写在后面

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

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

相关推荐
运维佬12 小时前
在 Linux 系统上部署 Apache Solr
linux·apache·solr
小蒜学长19 小时前
校园周边美食探索及分享平台
java·spring boot·后端·spring·apache·美食
დ旧言~1 天前
【网络】子网掩码
服务器·网络·网络协议·tcp/ip·php·apache
Ops菜鸟(Xu JieHao)1 天前
Dockerfile构建镜像(练习一Apache镜像)(5-1)
服务器·docker·容器·apache·脚本·dockerfile·系统运维
Percep_gan1 天前
Apache服务安装
apache
阿里云大数据AI技术2 天前
Apache Spark & Paimon Meetup · 北京站,助力 LakeHouse 架构生产落地
大数据·架构·spark·apache
程序员入门进阶2 天前
智能社区服务小程序+ssm
小程序·apache
编码小袁3 天前
探索Apache Spark:现代数据处理的闪电利剑
大数据·spark·apache
自求多芙3 天前
Apache ECharts
前端·apache·echarts
孪生质数-3 天前
Apache-Hive数据库使用学习
数据库·hive·hadoop·apache