问题
nginx的作用是什么
答案
-
nginx与apache类似是一个web服务器,比apache更轻,并发更高。nginx包括正向代理,反向代理,负载均衡以及动静分离。
-
正向代理,客户端和代理服务器同属于一个网络,服务器只认识代理服务器,真实客户端信息被屏蔽,正向代理代理客户端。例如软件公司不能连网,但是大家在公司可以通过代理服务器上网。
借用一个图形容正向代理如下:
-
反向代理,代理服务器和服务器同属于一个网络,客户端只认识代理服务器,真实服务器信息被屏蔽,反向代理代理服务器。例如软件公司服务器在内网,但是大家在家里可以通过代理服务器访问到公司内容服务器。
借用一个网上的图形容一下反向代理如下:
-
负载均衡,启动多个tomcat就是集群,但用户不能也不会去记录多个tomcat地址,他们只会记住一个地址,这时候把这个地址通过nginx映射到多个tomcat,哪怕有一个tomcat宕机,也不影响用户访问。nginx把用户请求转发到哪个tomcat有多种策略如轮询,iphash等。配置一般如下:
upstream fuzai{
server 127.0.0.1:8080;
server 127.0.0.1:8081;
ip_hash;
}
# 将server节点当中的第一个location节点修改为以下内容:
location / {
root html;
index index.html index.htm;
proxy_pass http://fuzai
}
- 动静分离,nginx是web服务器,不是servlet服务器,它能直接访问静态资源,却要把动态访问请求转发到servlet服务器,如此一来就能极大减轻servlet服务器压力。配置一般如下:
#拦截动态请求
location / {
proxy_pass http://localhost:8080;
}
#拦截静态资源
location ~ .*\.(html|htm|gif|jpg|jpeg|bmp|png|ico|js|css)$ {
root /opt/static;
}