nginx(反向代理+负载均衡+动静分离+虚拟主机)

*nginx(反向代理+负载均衡+动静分离+虚拟主机)

user nginx;
worker_processes 2;#工作进程数,通常设置成和cpu的数量相等
worker_cpu_affinity 0101 1010 #绑定操作,绑定具体cpu
#默认情况下worker进程是不和cpu绑定的,通常worker_processes结合使用
#和绑定进程1到cpu0和cpu2,进程2到cpu1和cpu3,适合hyper-threading超线程技术的cpu
error_log log/error.log notice;#错误日志存放目录
pid logs/nginx.pid #主进程pid系统会自动调用
worker_rlimit_nofile 65536;#worker最大打开进程数

events { #处理client and server连接
use epoll;
#单个进程允许的客户端最大连接数
worker_connections 20480;
}
http { ## 协议级别
include mime.types;
access_log directory;
default_type application/octet-stream;
keepalive_timeout 65;#请求超时时间
gzip on;
sendfile on; ##指定nginx是否调用sendfile函数(zero copy)来输出文件,对于普通应用必须设为on;
##如果用来进行下载等应用磁盘I/O重负载应用,可设置为OFF,以平衡磁盘与网络I/O处理速度,降低系统的uptime
autoindex on; ##开启目录列表访问,适合下载服务器,默认关闭 一般不建议开启
include directory;#包含文件一般包含虚拟主机,要优先匹配
server { ##服务器级别,每一个server类似于httpd中的一个<VirtualHost,通俗来说就是一个网站>
listen 80 default_server;#可添加默认
listen [::]:80 default_server;
root directory;#站点主目录
index index.html;#默认站点主文件
server_name www.web.com web.com; #服务器域名可使用正则表达式
location / { ##匹配规则,请求级别,类似与httpd中的,用于定义URL与本地文件系统的映射关系
root html;
index index.html index.htm;
}
}
}
---------------nginx默认为轮询负载均衡模式---------------
nginx负载均衡模式:1,轮询负载,2,ip_hash,3,fair(第三方)
[轮询加权重]
upstream 192.168.3.41{ ##负载均衡配置-后端主机
server 192.168.3.42:80 weight=2;#加权重数字越高约具有优先执行权
server 192.168.3.43:80 weight=1;
}
[ip_hash]
upstream ip {
ip_hash;
server ip:80;
server ip:80;
}
[fair第三方]按后端服务器的响应时间来分配请求,响应时间短的优先分配。
upstream backserver { #backserver反向代理处理函数
server server1;
server server2;
fair;
}
}
location / {
proxy_pass http://192.168.3.41;#反向代理服务器
proxy_set_header X-Forwarded-For $remote_addr;
proxy_set_header Host $host;
}

优点:搭建速度快,可根据服务器实际性能做权重调配,达到服务器利用最优。
缺点:对用户缓存数据无法保存(轮询只会根据服务器优先级加权重优先级处理请求,导致用户多次访问网站时上次数据无法在不同服务器具有相同数据环迅),
就会导致刷新站点后又是新的页面,解决办法:配置ip_hash(哈希算法),根据clinetIP地址进行绑定操作,达到同一个ip地址在访问服务器时会始终访问到
最初的被调配的服务器上,从而保障同一ip的数据始终被缓存,不被刷新影响。

反向代理服务器:为服务器代理,nginx均衡负载+反向代理实现+tomcat实现动静分离,分配请求。

参数:
1.down 表示单前的server暂时不参与负载
2.weight 默认为1.weight越大,负载的权重就越大。
3.max_fails:允许请求失败的次数默认为1.当超过最大次数时,返回proxy_next_upstream模块定义的错误
4.fail_timeout:max_fails次失败后,暂停的时间。
5.backup: 其它所有的非backup机器down或者忙的时候,请求backup机器。所以这台机器压力会最轻。

---------------nginx动静分离---------------
location / {
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header REMOTE-HOST $remote_addr;
proxy_set_header X-Forwarded-For KaTeX parse error: Double subscript at position 12: proxy_add_x_̲forwarded_for; … {
root /opt/static-resources; #指定文件路径
expires 12h; #过期时间为12小时
}
#所有图片等多媒体相关静态资源文件的请求由Nginx处理
location ~.*.(html|jpg|jpeg|png|bmp|gif|ico|mp3|mid|wma|mp4|swf|flv|rar|zip|txt|doc|ppt|xls|pdf)$ {
root /opt/static-resources; #指定文件路径
expires 7d; #过期时间为7天
}

------------------虚拟主机------------------
在/etcnginx/conf.d/下创建虚拟主机文件
并在主配置文件中include包含,可以包含多个文件。
虚拟主机可以基于ip,端口,域名方式一般较多使用域名方式。
虚拟机匹配优先级:一般client访问服务器时会依次匹配服务器虚拟主机,
从上到下直到匹配到,如果没匹配到就按照第一个虚拟主机匹配。
注:如果第一个是基于ip的虚拟主机,而后面所有的都是基于域名的(又都是同一个ip)则服务器默认
直接匹配基于ip的虚拟机,不会匹配之后的。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值