目录
- 一、写在前面
- 二、下载Apache
- 三、编译安装依赖库
-
- [3.1 编译安装apr](#3.1 编译安装apr)
- [3.2 编译安装apr-util](#3.2 编译安装apr-util)
- [3.3 编译安装pcre](#3.3 编译安装pcre)
- 四、编译安装及启动Apache
-
- [4.1 编译安装Apache](#4.1 编译安装Apache)
- [4.2 启动Apache](#4.2 启动Apache)
- 五、配置Apache
-
- [5.1 备份 httpd.conf](#5.1 备份 httpd.conf)
- [5.2 启用代理模块](#5.2 启用代理模块)
- [5.3 修改监听端口](#5.3 修改监听端口)
- [5.4 配置转发规则](#5.4 配置转发规则)
- 六、常用指令
-
- [6.1 启动Apache指令:](#6.1 启动Apache指令:)
- [6.2 查看启动情况](#6.2 查看启动情况)
- [6.3 重启Apache](#6.3 重启Apache)
- 七、写在后面
一、写在前面
(由于考虑到公司业务和代码安全性问题,所有内容已脱敏)
下载方式为 手动下载和 wget
下载。
Linux下安装路径以本人习惯为准,可根据需求自行更改。
参考文献
Apache安装编译遇到APR的问题
二、下载Apache
以下为 wget
下载教程,也可手动访问 wget
后链接手动下载并上传服务器。
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
版本后需要三个依赖: apr
、 apr-util
和 pcre
,所有进行优先编译安装。
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 ,报错如下:
bashchecking 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
七、写在后面
欢迎关注,会经常记录一些工作中遇到的问题。
欢迎随时留言讨论,与君共勉,知无不答!