Nginx 一款 轻量级 的web 服务器 / 反向代理服务器。
优点:
- 占用内存少
- 并发能力强
- 运行稳定
并发量: 5w 并发链接
特性:
- 反向代理
- 负载均衡
网址:
Tengine 淘宝 基于 Nginx 研发的 web 服务器。
简介 - The Tengine Web Server
使用场景
1.高并发

2.正向代理

3反向代理
解决方案——池
- 刚开始的时候时候创建多个请求等待使用。
- 使用完毕后不会销毁,而是重新归还池
- 如果业务量比较大,通过池控制最大连接数
HA 高可用
LB 负载均衡
#安装
wgt downloadurl.tar.gztar -zxvf name.tar.gzcd name# 安装依赖yum install gcc pcre-devel zlib-devel openssl-devel -y# 设置安装路径./configure --prefix=/opt/bdp/nginxmake && make install# 启动/opt/bdp/nginx/sblin/nginx# 退出pwd/nginx -s quit# 使用新的配置文件重新启动pwd/nginx -s reload
配置文件
# 用户和用户组# 指定工作进程数量(一班时cpu 数量)# 指定错误日志# pid# nginx 链接配置模块# 指定每个工作进程最大连接数量# http 配置模块# 通过 include 加载 mime.types 文件,里面的 types {} 模块将文件扩展名映射到响应的 MIIME 类型# 定义响应的 默认 MIME 类型# 吸入格式 main 的内容格式(main 是名称,可改名)# 指定访问日志的格式为main# 保存活动的客户端连接超时时长设置 keepalive_timeout# 是否启动 gzip# 虚拟主机配置# 监听端口号# 监听的域名# 默认的字符集# 访问日志# 特定的目录重定向# 设置请求的根目录# 定义索引、按顺序匹配# 定义404 错误的uri# 定义50x 错误页面# 正在表达式匹配php文件location ~ \.php$ {# 设置代理服务器协议和地址,以及应该映射在的可选 URIproxy_pass http://127.0.0.1;}# 正在表达式匹配php文件 php-fastcgi 配置# 根目录# fastcgi 地址和端口# fastcgi 服务器参数# 加载 conf/fastcgi_params 文件#user nobody;
负载均衡 反向代理
upstream dbp {server 192.158.2.12:8080;server 192.158.2.13:8080;server 192.158.2.14:8080;}server {listion 80;server_name www.abc.dom;location / {# root html;# index index.html;proxy_pass http://dbp;}}
负载均衡的策略
轮询(默认)
依次转发给配置的服务器
权重
upstream abcd {server 192.1.1.23:8080 weight=1;server 291.1.3.23:8080 weight=3;server 291.1.3.24:8080; # weight=1 默认值}
最少连接数
upstream abcd {least_conn;server 103.23.23.3:8080server 103.23.23.4:8080}
iphash
upstream abcd {ip_hash;server 103.23.23.3:8080server 103.23.23.4:8080}
session 一致性
使用 redis 存储session
