一、反向代理
首先先认识一下反向代理。
反向代理会将当前连接请求转发给上游服务器进行处理。根据业务需要,还可以对URI进行转换。
nginx反向代理指令:proxy_pass
我们看一个配置示例,把所有的请求转到本机tomcat进行处理。
location / {
proxy_pass http://localhost:8080;
}
二、负载均衡
nginx中的负载均衡使用upstream模块
配置示例:
upstream tomcat {
ip_hash;
server 127.0.0.1:8080;
server 127.0.0.1:8081;
}
location / {
proxy_pass http://tomcat;
}
配置文件详解:
upstream 定义了一个服务器组,组名为tomcat。
ip_hash 指定负载均衡算法。针对有状态连接,基于IP地址在服务器间分配请求。
server 指令指定上游服务的地址和端口。在本示例中,定义了在本机的两个tomcat服务。在实际环境中可以指定两个不同的服务器。
以上只是upstream模块的一些基本用法,其它的指令可以参考nginx官方文档。