Nginx
使用nginx在没有域名的情况下要先配置host:
然后在nginx中设置.conf配置文件:
server {
listen 80;
server_name manage.hh.com; //设置访问域名
location / {
#代表用户请求网址
proxy_pass http://localhost:8091;//设置访问端口
}
}
编辑完成,重启nginx,指令为:
1.启动nginx start nginx
2.关闭nginx nginx -s stop
3.重启nginx nginx -s reload
nginx实现负载均衡的几种策略:
1.首先是默认策略,轮询策略:
upstream hh{
server localhost:8095;
server localhost:8096;
server localhost:8097;
}
2.也可以设置权重策略
upstream hh{
server localhost:8095 weight=6;
server localhost:8096 weight=3;
server localhost:8097 weight=1;
}
3.由于session不能再多台tomcat服务器*享数据,所以为了避免
对于集群下避免用户重复登陆,在nginx中采用了iphash的策略,
从而锁定了某一台服务器,(ip+hash)%服务器数量=绑定服务器.
也可以使用单点登陆,这里不做阐述。
upstream hh{
ip_hash; //优先级高
server localhost:8095 weight=6;
server localhost:8096 weight=3;
server localhost:8097 weight=1;
}
缺点:
- 可以通过ip模拟进行类似攻击.不安全
- 可能会造成负载不均.
- 如果有一台服务器宕机,则可能影响整合服务.
4.访问备用机机制:
upstream hh{
ip_hash; //优先级高
server localhost:8095 weight=6 down;
server localhost:8096 weight=3 down; //下线处理
server localhost:8097 weight=1 backup; //访问备用机
}
5.对于服务器宕机,为了实现高可用,实行心跳检测机制
将该服务器做下线处理.当服务器宕机后,运维人员修复完
成后nginx通过心跳检测,自动的发现服务,加载服务项.
最终实现了故障的启动迁移.
upstream hh {
ip_hash;
server localhost:8095 max_fails=1 fail_timeout=60s;
server localhost:8096 max_fails=1 fail_timeout=60s;
server localhost:8097 max_fails=1 fail_timeout=60s;//实际访问网址
}
这里指访问一次,失败后就会将认为宕机的服务器下线,
60s后才会再次尝试心跳检测
server {
listen 80;
server_name manage.hh.com;//显示访问网址
location / {
#代表用户请求网址
proxy_pass http://hh;
#配置服务超市时间 单位 /秒
proxy_connect_timeout 3;
proxy_read_timeout 3;
proxy_send_timeout 3;
}
}
上一篇: JavaAndroid项目结构
下一篇: 心中有海,哪里都是三亚