一、写在前面

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

下载方式手动下载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

如果找不到 pcreconfig报错如下:

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 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指令

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

/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

七、写在后面

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

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

原文地址:https://blog.csdn.net/M_Love_U/article/details/134685702

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。

如若转载,请注明出处:http://www.7code.cn/show_12659.html

如若内容造成侵权/违法违规/事实不符,请联系代码007邮箱suwngjj01@126.com进行投诉反馈,一经查实,立即删除

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注