yum -y install gcc perl wget make pcre-devel openssl-devel expat-devel mkdir /opt/apache && cd /opt/apache - wget https://dlcdn.apache.org/apr/apr-1.7.0.tar.gz --no-check-certificate
- wget https://dlcdn.apache.org/apr/apr-util-1.6.1.tar.gz --no-check-certificate
- wget https://github.com/PCRE2Project/pcre2/releases/download/pcre2-10.40/pcre2-10.40.tar.gz --no-check-certificate
- wget https://dlcdn.apache.org/httpd/httpd-2.4.54.tar.gz --no-check-certificate
- ------------------------------------------------------------------------------------------------------------------
- 版本更新可能导致下载失败,需要到如下路径查看可用版本:
- https://dlcdn.apache.org/apr --> apr-xxxx.tar.gz、apr-util-xxxx.tar.gz
- https://github.com/PCRE2Project/pcre2/releases --> pcre2-xxxx.tar.gz
- https://dlcdn.apache.org/httpd --> httpd-xxxx.tar.gz
ls *.tar.gz | xargs -n1 tar zxvf && rm -rf *.tar.gz APR安装
cd /opt/apache/apr-1.7.0 && ./configure --prefix=/opt/apache/apr-1.7.0 && make && make install - cd /opt/apache/apr-util-1.6.1 && ./configure --prefix=/opt/apache/apr-util-1.6.1 \
- --with-apr=/opt/apache/apr-1.7.0 && make && make install
cd /opt/apache/pcre2-10.40 && ./configure --prefix=/opt/apache/pcre2-10.40 && make && make install - cd /opt/apache/httpd-2.4.54 && ./configure --prefix=/opt/apache/httpd-2.4.54 \
- --with-apr=/opt/apache/apr-1.7.0 --with-apr-util=/opt/apache/apr-util-1.6.1 \
- --with-pcre=/opt/apache/pcre2-10.40/bin/pcre2-config && make && make install
- echo "export HTTPD_HOME=/opt/apache/httpd-2.4.54" >> /etc/profile
- echo "export PATH=\$HTTPD_HOME/bin:\$PATH" >> /etc/profile
- source /etc/profile
卸载旧版本
yum -y remove httpd httpd -v - 启动|重启|关闭:httpd -k start|restart|stop
- 查看:ps -ef|grep httpd
- 1.编辑:/opt/apache/httpd-2.4.54/conf/httpd.conf
- # 访问端口
- Listen 8686
- # 192.168.1.97为虚拟机ip地址
- ServerName 192.168.1.97:8686
- LoadModule proxy_module modules/mod_proxy.so
- LoadModule proxy_http_module modules/mod_proxy_http.so
- LoadModule proxy_balancer_module modules/mod_proxy_balancer.so
- LoadModule lbmethod_byrequests_module modules/mod_lbmethod_byrequests.so
- LoadModule lbmethod_bytraffic_module modules/mod_lbmethod_bytraffic.so
- LoadModule lbmethod_bybusyness_module modules/mod_lbmethod_bybusyness.so
- LoadModule lbmethod_heartbeat_module modules/mod_lbmethod_heartbeat.so
- LoadModule slotmem_shm_module modules/mod_slotmem_shm.so
-
- 2.重启Apache:httpd -k restart
-
- 3.防火墙打开端口权限:firewall-cmd --zone=public --add-port=8686/tcp --permanent && firewall-cmd --reload
Apache访问(http://192.168.1.97:8686)
反向代理与负载均衡(Apache反向代理&负载均衡)
- 1.虚拟机Apache访问主机Tomcat要求虚拟机能够ping通主机ip
- 虚拟机无法ping通主机ip-->主机启用防火墙入站规则-->文件和打印机共享(回显请求 - ICMPv4-In) "专用、公用"
-
- 2.主机防火墙添加端口入站规则-->8181、8282、8383
-
- 3.反向代理配置(重启Apache)
- ProxyPass "/" "http://192.168.1.94:8181/"
- ProxyPassReverse "/" "http://192.168.1.94:8181/"
-
- 4.负载均衡配置(重启Apache)
- <Proxy balancer://tomcats>
- # Tomcat8欢迎页
- BalancerMember http://192.168.1.94:8181 loadfactor=1 timeout=5
- # Tomcat9欢迎页
- BalancerMember http://192.168.1.94:8282 loadfactor=2 timeout=5
- # Tomcat10欢迎页
- BalancerMember http://192.168.1.94:8383 loadfactor=3 timeout=5
- ProxySet lbmethod=bytraffic
- </Proxy>
- ProxyPass "/" "balancer://tomcats/"
- ProxyPassReverse "/" "balancer://tomcats/"
-
- 解释说明:
- 主机浏览器访问虚拟机Apache,虚拟机Apache将请求转发到主机Tomcat,主机Tomcat将数据返给虚拟机Apache,
- 虚拟机Apache将数据返给主机浏览器,在实际应用中虚拟机Apache将请求转发给指定业务服务器获取业务数据




