反向代理
代理的是服务端
用户访问的是NGINX服务器,NGINX再转发到应用服务器上,Tomcat把相应结果返回给NGINX,NGINX再传给用户,相当于NGINX是中间商。
应用服务器和NGINX是内网,如果直接访问Tomcat是访问不到的,不通【不对外网暴露】。
用户是不知道服务器真实地址的。
正向代理【VPN】
代理的是客户端
通过把客户端的请求,代理到能访问外网的你想访问的代理服务器上。客户不关心代理服务器地址,只关心我想访问的那个网站的内容
NGINX启动后
会有1个master进程和多个worker进程,master用来管理worker进程,多个worker进程会竞争客户端请求,一个请求只会被1个worker处理【一般和CPU核数一致 超过的话产生不必要的上下文切换】。
每个worker支持的最大连接数,如果是反向代理,需要耗费掉2个连接,一个是NGINX和客户端,一个是NGINX和服务器端