Nginx 相关配置

准备环境:服务器ip为:110.110.110.110、 nginx监听80端口、两个tomcat端口分别为8080、8081;

【一】反向代理

实现访问http://110.1110.110.110/aaa/a.html 反向代理访问到http://110.110.110.110:8001/aaa/a.html

sever {
	listen  80;
	localhost 110.110.110.110;
	
	localtion ~ /aaa/ {
		proxy_pass http://127.0.0.1:8080;
	}
}

【二】负载均衡

nginx实现负载均衡有四种方式:轮询(默认方式)、权重weight、ip_hash、fair;

(1)轮询方式(默认方式):访问http://110.1110.110.110会依次代理到http://110.1110.110.110:8080和http://110.1110.110.110:8081

# server_pool自定义的名称,下面的proxy_pass里面需要用到
upstream server_pool {
	server 110.110.110.110:8080;
	server 110.110.110.110:8081;
}

sever {
	listen  80;
	localhost 110.110.110.110;
	
	localtion / {
		proxy_pass http://server_pool;
	}
}

(2)weight权重方式:权重大的转发到的机会大

# server_pool自定义的名称,下面的proxy_pass里面需要用到
upstream server_pool {
	server 110.110.110.110:8080 weight=1;
	server 110.110.110.110:8081 weight=10;
}

sever {
	listen  80;
	localhost 110.110.110.110;
	
	localtion / {
		proxy_pass http://server_pool;
	}
}

(3)ip_hash:第一次进的是哪个地址,接下来的访问都是这个地址

# server_pool自定义的名称,下面的proxy_pass里面需要用到
upstream server_pool {
	ip_hash;
	server 110.110.110.110:8080;
	server 110.110.110.110:8081;
}

sever {
	listen  80;
	localhost 110.110.110.110;
	
	localtion / {
		proxy_pass http://server_pool;
	}
}

(4)fair:哪个响应时间快就进入哪个

# server_pool自定义的名称,下面的proxy_pass里面需要用到
upstream server_pool {
	server 110.110.110.110:8080;
	server 110.110.110.110:8081;
	fair;
}

sever {
	listen  80;
	localhost 110.110.110.110;
	
	localtion / {
		proxy_pass http://server_pool;
	}
}

【三】动静分离

实现将图片放在/usr/media/picture目录里面,配置nginx来访问。(类似tomcat的虚拟路径)

使用 root 或者 alias 方式来代理, 建议使用alias

server {
    listen       80;
    server_name  110.110.110..110;
    
    #这里需要注意,使用root代理后的结果为:/usr/media/picture/
    location /picture/ {
       root  /usr/media/;  
       autoindex  on;
    }
   
    #这里需要注意,使用alias代理后的结果为:/usr/media/
    location /picture/ {
       alias  /usr/media/;  
       autoindex  on;
    }
    
}

【四】高可用的集群

需要结合keepalived 来使用,并且需要用到多台服务器。

步骤大概是:

(1):配置主机名

(2):配置检测脚本

(3):设置主从nginx,绑定网卡和配置虚拟ip

 

nginx最大并发问题:

nginx有master和worker的概念,一般只有一个master,worker的数据可以配置,一般与cpu的个数配置一致。

worker_connections在events里面可以配置,默认1024个。

通常一个动态请求需要占用4个连接数:前台-->nginx-->tomcat需要两个。然后返回信息又需要两个,即需要4个连接数

一个静态请求需要占用2个连接数:前台-->nginx 需要一个,然后返回信息又需要一个,即需要2个连接数

动态请求最大并发数:worker_processes * worker_connections /4

静态请求最大并发数:worker_processes * worker_connections /2

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

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值