最新消息:

Nginx简单实现反向代理和负载均衡

PHP PHPaihaozhe 69浏览 0评论

Nginx简单实现反向代理和负载均衡安装好之后,开始使用它来简单实现反向代理与负载均衡的功能。在这之前,首先得脑补一下什么是反向代理和负载均衡。

反向代理:是指以代理服务器来接收Internet上的请求,然后将请求转发到内部网络的服务器上,并将结果返回给Internet上连接的客户端,此时的代理服务器对外就表现为反向代理服务器。

通俗来讲,反向代理服务器就好比我们常说的中介,Internet客户端可以看作是租房的客户,而内部网络的服务器好比是房东。租户通过中介与房东沟通,最后租到房子。

Nginx简单实现反向代理和负载均衡

负载均衡,分摊到多个操作单元上进行执行,从而实现多个操作单元来共同完成任务,常用来平衡集群中各服务器的负载压力。本次实例主要是在反向代理的基础上实现简单的负载均衡。

实例:

1、准备工作

Nginx服务器、多个应用服务器(本实例使用tomcat)

2、文件修改

修改本地文件hosts文件(在本机C:\Window\system32\drivers\etc)

Nginx简单实现反向代理和负载均衡

修改nginx安装目录下的配置文件nginx.conf(本路径为/usr/local/nginx/nginx.conf),增加Server节点,如下:

upstream tomcats{

server 192.168.91.129:8080 ;

server 192.168.91.129:8081;

}

server {

listen 80;

server_name tomcat.vb2c.com;

location /{

proxy_pass http://tomcats;

index index.html index.htm;

}

}

分别启动tomcat(本次使用两个tomcat)、nginx服务器

3、测试

在本地输入:tomcat.vb2c.com地址,没刷新一次访问不同的tomcat服务器,如下:

Nginx简单实现反向代理和负载均衡

Nginx简单实现反向代理和负载均衡

在此基础上实现负载均衡,其实就是为Server端口加上weight权重,权重越大,访问的概率越大,如下:

upstream tomcats{

server 192.168.91.129:8080 weight=2;

server 192.168.91.129:8081;

}

server {

listen 80;

server_name tomcat.vb2c.com;

location /{

proxy_pass http://tomcats;

index index.html index.htm;

}

}

访问时,8080的响应次数大于8081

我们从外部进行访问时,实际访问的是Nginx服务器,但是Nginx服务器将我们的请求转发给内部的tomcat服务器,从外相来看,我们访问的是Nginx,实际上是tomcat。此时的Nginx服务器就作了反向代理的功能,这样的优点就是,众多用户同时访问一台服务器,通过反向代理,可以实现将请求转向多台内部服务器,既能加快处理的速度,又能减轻服务器的压力。

至此,简单的反向代理与负载均和实例就完成了,看似很简单的功能,但是对于Linux菜鸟来说在操作时会遇到各种问题。比如修改配置文件,如何使用命令来操作等,当然等熟练之后也就得心应手了,而且现在有好多专门的工具进行文件的修改。

转载请注明:PHP学习 » Nginx简单实现反向代理和负载均衡

发表我的评论
取消评论

表情

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址