概念
- Nginx: 是一个高性能的HTTP和反向代理web服务器,同时也提供了IMAP/POP3/SMTP服务. 其特点是占有内存少,并发能力强,事实上nginx的并发能力在同类型的网页服务器中表现较好. Nginx 是一个安装非常的简单、配置文件非常简洁(还能够支持perl语法)、Bug非常少的服务。Nginx 启动特别容易,并且几乎可以做到7*24不间断运行,即使运行数个月也不需要重新启动。你还能够不间断服务的情况下进行软件版本的升级。Nginx代码完全用C语言从头写成。官方数据测试表明能够支持高达 50,000 个并发连接数的响应。
- 正向代理: 被代理的客户端, 服务器不知道具体是谁请求的, 如: VPN (请求传到 香港服务器 再中专到 美国服务器 再返回)
- 反向代理: 客户端不知道具体是那一台服务器提供的服务. 如: Nginx 反向代理
主要作用
- 反向代理
- 负载均衡:
- 轮询: n 个服务器, 循环使用
- 加权轮询: 根据服务器的权重分配请求, 权重高的分配多一些
- iphash: 对客户端请求的ip进行hash操作,然后根据hash结果将同一个客户端ip的请求分发给同一台服务器进行处理,可以解决session不共享的问题(同一 session 的 ip 相同, 自然会到同一个服务器上)
- 动静分离: 让动态网站里的动态网页根据一定规则把不变的资源和经常变的资源区分开来, 动静资源做好了拆分以后,我们就可以根据静态资源的特点将其做缓存操作。提高资源响应的速度
常用命令
命令 | 作用 |
---|
nginx | 启动 |
nginx -s stop | 停止 |
nginx -s quit | 安全退出 |
nginx -s reload | 重新加载配置文件 |
ps aux|grep nginx | 查看 nginx 进程 |
service nginx status | 查看 nginx 启动状态 |
负载均衡 和 反向代理 演示
upstream lb{ # 负载均衡
server 127.0.0.1:8080 weight=1; # weight 代表权重
server 127.0.0.1:8081 weight=1;
}
location / {
proxy_pass http://lb;
}