Nginx是什么?
Nginx是一款轻量级的web服务器.反向代理服务器.电子邮件代理服务器.其特点是:占由内存少,并发能力强.
Nginx的作用?
Nginx有很好的抗并发能力,可以用来处理静态文件的.放在他的静态文件目录中即可被访问到. 可以用来做反向代理服务器,用来转发分配请求给应用服务器.
使用Nginx来实现负载均衡器,Nginx的负载均衡是基于反向代理的
Nginx和Tomcat的区别
Nginx主要用来做静态内容服务和(反向)代理服务,直接将外来的请求转发给后期的应用服务器,Nginx有动态分离机制,静态请求直接就可以通过Nginx处理,动态请求才转发请求到后台交由Tomcat进行处理,nginx只是把请求做了分发,不做处理
Tomcat 就类似于一个应用服务器.它只是一个Servlet(JSP也翻译成Servlet)容器,只能用做java服务器,他是主要用作为动态解析容器,处理动态请求,是编译JSP/Servlet的容器。
tomcat与nginx、Apache结合使用
nginx、apache既可以提供web服务,也可以转发动态请求至tomcat服务器上。但一般,通常nginx、apache只提供代理的功能,也就是转发请求至tomcat服务器上,而对于静态内容的响应,则由前端负载均衡器来转发至专门的静态服务器上进行处理
反向代理和负载均衡
做了反向代理才能实现负载均衡。负载均衡是做反向代理的目的之一。
由于一个服务器,无法承担过多的请求,这时候我们就需要在nginx后端配置多台服务器,利用nginx代理使用负载均衡策略将请求转发到后端不同的机器上.这时候就起到了负载均衡的作用.
在nginx中配置负载均衡
打开nginx的配置文件nginx.conf并增加如下配置:
#upstream指令可以定义一组服务器
upstream targetserver{
server 192.168.200.100:8080;
server 192.168.200.101:8080;
server 192.168.200.102:8081;
}
server {
listen 8080;
server_name localhost;
location / {
proxy_pass http://targetserver;
}
}