Nginx能做哪些事:
Nginx是俄罗斯一大佬在02年写的,过去这么长时间了,Nginx也早已广泛的用在了我们大大小小的项目中,也证明了它是一款不错的软件,如果还不了了解它都能干什么,那么就往下看一看吧。
Nginx主要可以做的事情有
- 反向代理
- 负载均衡
- HTTP服务器(包含动静分离)
- 正向代理
反向代理:
应该是nginx做的最多的一件事情了,那什么是反向代理呢?
百度上面说:反向代理(Revers Proxy)方式是指以代理服务器来接受internet上的连接请求,然后将请求转发给内部网络服务器,并将服务器上得到的结果返回给internet 上请求连接的客户端,此时代理服务器对外就表现为一个反向代理服务器。
简单的来说就是真实的服务器不能直接被外部网络访问,所以需要一台代理服务器,外部通过与代理服务器交互,达到访问真实服务的目的,这个代理服务器就是Nginx了。其实我们可以理解成为我们为了安全性,要给我们服务套一个壳子,这个壳子收到请求后,根据配置,再把请求转发到我们的真实服务上。这个下面代码为实现反向代理配置代码(在nginx.conf 这个文件中)。
server {
listen 80;
server_name localhost;
client_max_body_size 1024M;
location /{
proxy_pass http://localost:8080;
proxy_set_header Host $host:$server_port;
}
}
稍微解释一下,nginx默认就是80端口,也是服务器的默认端口,我们输入要访问的ip时,可以不输入端口,这个时候其实默认的就直接指向80端口了。而nginx代理的服务器则是本地的8080端口的服务。
那为什么又叫反向代理呢?仔细想一下,真实服务是不是一直处于被动的调用状态,只有被调用了,才会代理服务器进行交互?因为这种方式是Internet作为主动调用方,而我们则是被请求的那一方。所以被称作为反向代理。
负载均衡:
说完反向代理则不得不提起Nginx的另一个很厉害的功能,就是负载均衡。
简单而言就是当有2台或以上的服务器,根据规则随机的将请求分发到指定的服务器上处理,负载均衡配置一般都需要同时配置反向代理,通过反向代理跳转到负载均衡。通过反向代理跳转到负载均衡。而nginx目前有三种负载策略,还有2种常用第三方策略,也就是5种。
RP (默认)
每个请求按时间顺序逐一分配到不同的后端服务器,如果后端服务器down掉,能自动剔除。
简单配置