Ubuntu16.04Apache负载均衡+集群

mod_proxy ,主代理模块Apache模块用于重定向连接;它允许Apache充当底层应用程序服务器的网关。
mod_proxy_http ,它增加了对代理HTTP连接的支持。
mod_proxy_balancer和mod_lbmethod_byrequests ,它为多个后端服务器添加负载平衡功能。

为了保证配置流程正常,请执行如下命令:

1
2
3
4
5
sudo a2enmod proxy
sudo a2enmod proxy_http
sudo a2enmod proxy_balancer
sudo a2enmod lbmethod_byrequests
/etc/init.d/apache2 restart

编辑该配置文件(vim /etc/apache2/sites-available/000-default.conf),添加如下:

1
2
3
4
5
6
<VirtualHost *:80>
ProxyPreserveHost On

ProxyPass / http://127.0.0.1:8080/
ProxyPassReverse / http://127.0.0.1:8080/
</VirtualHost>

这样就可以访问了,但是如果是多台服务器的话,添加如下配置:

1
2
3
4
5
6
7
8
9
10
11
<VirtualHost *:80>
<Proxy balancer://mycluster>
BalancerMember http://127.0.0.1:8080
BalancerMember http://127.0.0.1:8081
</Proxy>

ProxyPreserveHost On

ProxyPass / balancer://mycluster/
ProxyPassReverse / balancer://mycluster/
</VirtualHost>

换言之如果是https请求,配置也是一样的,不一样的是文件不同(如果是配置https,需要修改/etc/apache2/sites-available/default-ssl.conf)
内容与上面一样,唯一不一样的是端口,SSL默认是443端口。

如果你不知道apache如何配置https,可以参考我的这篇博客Ubuntu16.04之Apache2.4配置SSL证书

本文参考链接资料如下:
如何在Ubuntu 16.04上使用Apache的mod_proxy作为反向代理

文章目录