摘要:Nginx 是一个高性能的HTTP和反向代理web服务器,同时也提供了IMAP/POP3/SMTP服务。许多大型门户及电商网站像百度、京东、新浪、网易、腾讯、淘宝等都用到Nginx,因其配置灵活,够轻量,操作简单而得到广泛应用(话外音:不管公司大小,如果不用它感觉自己就落伍了)。其主要使用场景:反向代理、负载均衡和动静分离。
一、什么是反向代理及作用
反向代理(ReverseProxy)是指以代理服务器来接受internet上的连接请求,然后将请求转发给内部网络上的服务器,并将从服务器上得到的结果返回给internet上请求连接的客户端。其作用在于隐藏内部服务器减少恶意攻击,负载均衡减少服务器压力,访问安全控制等。
二、基本配置方式
- 浏览器输入域名替代IP地址和端口,如:访问mall.com 转发到 localhost:8090
upstream mall{ server localhost:8090; } server { listen 80; server_name mall.com; location / { proxy_pass http://mall; }}
2.根据url前缀转发到不同的服务,如:mall.com/product/list转发到商城服务localhost:8090/list,mall.com/pay/orderId转发到支付服务localhost:8091/orderId
upstream mall{ server localhost:8090 ; } upstream pay{ server localhost:8091; } server { listen 80; server_name mall.com; location ^~/product/ { proxy_pass http://mall/; } location ^~/pay/ { proxy_pass http://pay/; } }
说明:^~/product/表示匹配前缀是product的请求,proxy_pass的结尾有/, 则会把/prod/*后面的路径直接拼接到后面
小结:Nginx用作反向代理服务器时,承载更多的连接,空闲连接也不会占据太多内存。作为反向代理服务器中的一种,通过简单的配置,指定到服务器IP或域名地址便可将客户机请求转发给指定服务器处理请求。
![63613e82a4bf004c34935f61a645b7bc.png](https://i-blog.csdnimg.cn/blog_migrate/d3cf344e09fc639ce2bc8feb2f48e371.jpeg)