一、正向代理: 客户端和原始服务器(origin server)之间的服务器,为了从原始服务器取得内容,客户端向代理发送一个请求并指定目标(原始服务器),而后代理向原始服务器转交请求并将得到的内容返回给客户端。javascript
server不知道client是谁java
二、反向代理:客户端请求服务器,中间也是通过一个代理服务器,客户端访问代理服务器就好像访问目标服务器同样。同时代理服务器将请求转发到后端具体服务器。nginx
客户端不知道本身具体访问的服务器是谁后端
三、总结 https://blog.csdn.net/wnvalentin/article/details/88171847缓存
正向代理是对客户端的代理,由客户端设立,客户端了解代理服务器和目标服务器,但目标服务器不了解真正的客户端是谁;使用正向代理可达到 突破访问限制、提升访问速度、对服务器隐藏客户端IP等目的;安全
反向代理是对服务器的代理,由服务器设立,客户端不了解真正的服务器是谁,使用反向代理可达到负载均衡、保障服务端安全、对客户端隐藏服务器IP等目的。服务器
集群平摊请求压力架构
负载均衡策略:并发
upstream myserver{ ip_hash; server 192.168.17.129:8000; server 192.168.17.129:8001; server 127.0.0.1:7071 down; #不参与负载均衡 server 127.0.0.1:7070 backup; #备份server 只有其余都忙了才访问 }
upstream myserver{ server 192.168.17.129:8000 weight 1; server 192.168.17.129:8001 weight 2; }
upstream myserver{ ip_hash; server 192.168.17.129:8000; server 192.168.17.129:8001; }
upstream myserver{ server 192.168.17.129:8000; server 192.168.17.129:8001; hash $request_uri; hash_method crc32; #hash 方法 }
upstream myserver{ server 192.168.17.129:8000; server 192.168.17.129:8001; fair; }
server模块的配置:app
server{ listen 80; server_name 192.168.17.129; location /{ proxy_pass http://myserver; #前面upstream的名字 } }
动态页面和静态页面分开部署,把动态页面的服务器性能弄的好一些,静态页面的服务器能够差一些,而且能够设置缓存。
nginx 启动
nginx -v版本号
nginx -s stop 关闭
nginx -s reload 从新加载配置文件
location /appImg/{ root /home/nginx; }
这个location至关于访问服务器上的文件路径: /home/nginx/appImg/ 。
location /appImg/{ alias /home/nginx/; }
这个alias表明了/appimg/ = /home/nginx/
设置并发数和链接数
链接数:
静态资源:2
反向代理:4
每一个worker都维护一个线程处理请求
worker_processes设置的数量和cpu核数最好相等,每一个worker都是一个独立的进程
3个worker
root 20789 1 0 10:19 ? 00:00:00 nginx: master process nginx nobody 22281 20789 0 10:47 ? 00:00:00 nginx: worker process nobody 22282 20789 0 10:47 ? 00:00:00 nginx: worker process nobody 22283 20789 0 10:47 ? 00:00:00 nginx: worker process root 22319 20514 0 10:48 pts/1 00:00:00 grep --color=auto nginx
1个worker
root 20789 1 0 10:19 ? 00:00:00 nginx: master process nginx nobody 22376 20789 0 10:49 ? 00:00:00 nginx: worker process root 22378 20514 0 10:49 pts/1 00:00:00 grep --color=auto nginx