写点什么

Nginx + Tomcat 搭建负载均衡,大牛带你直击优秀开源框架灵魂

作者:Java高工P7
  • 2021 年 11 月 10 日
  • 本文字数:1560 字

    阅读完需:约 5 分钟

#log_format main 'remote_user [request" '

'body_bytes_sent "$http_referer" '

'"http_x_forwarded_for"';

#access_log logs/access.log main;


sendfile on; # 开启高效文件传输模式,sendfile 指令指定 nginx 是否调用 sendfile 函数来输出文件,对于普通应用设为 on,如果用来进行下载等应用磁盘 IO 重负载应用,可设置为 off,以平衡磁盘与网络 I/O 处理速度,降低系统的负载。注意:如果图片显示不正常把这个改成 off。


#tcp_nopush on;


#keepalive_timeout 0;


keepalive_timeout 65; # 长连接超时时间,单位是秒


#gzip on; # 启用 Gizp 压缩


#服务器的集群


upstream yjq { # 服务器集群名字


server 127.0.0.1:18080 weight=1; # 服务器配置 weight 是权重的意思,权重越大,分配的概率越大。


server 127.0.0.1:8080 weight=2;


}

当前的 Nginx 的配置

server {


listen 88; # 监听 88 端口,可以改成其他端口


server_name localhost; # 当前服务的域名


#charset koi8-r;


#access_log logs/host.access.log main;


location / {

root html;

index index.html index.htm;

proxy_pass http://yjq;


proxy_redirect default;


}


#error_page 404 /404.html;

redirect server error pages to the static page /50x.html


error_page 500 502 503 504 /50x.html;


location = /50x.html {


root html;


}

proxy the PHP scripts to Apache listening on 127.0.0.1:80


#location ~ .php$ {

proxy_pass http://127.0.0.1;

#}

pass the PHP scripts to FastCGI server listening on 127.0.0.1:9000


#location ~ .php$ {

root html;

fastcgi_pass 1

《Android学习笔记总结+最新移动架构视频+大厂安卓面试真题+项目实战源码讲义》
浏览器打开:qq.cn.hn/FTe 免费领取
复制代码


27.0.0.1:9000;

fastcgi_index index.php;

fastcgi_param SCRIPT_FILENAME /scripts$fastcgi_script_name;

include fastcgi_params;

#}

deny access to .htaccess files, if Apache's document root

concurs with nginx's one


#location ~ /.ht {

deny all;

#}


}

another virtual host using mix of IP-, name-, and port-based configuration


#server {

listen 8000;

listen somename:8080;

server_name somename alias another.alias;

location / {

root html;

index index.html index.htm;

}

#}

HTTPS server


#server {

listen 443 ssl;

server_name localhost;

ssl_certificate cert.pem;

ssl_certificate_key cert.key;

ssl_session_cache shared:SSL:1m;

ssl_session_timeout 5m;

ssl_ciphers HIGH:!aNULL:!MD5;

ssl_prefer_server_ciphers on;

location / {

root html;

index index.html index.htm;

}

#}


}


补充说明


在 http 节点里添加:

定义负载均衡设备的 Ip 及设备状态

upstream myServer {


server 127.0.0.1:9090 down;


server 127.0.0.1:8080 weight=2;


server 127.0.0.1:6060;


server 127.0.0.1:7070 backup;


}


在需要使用负载的 Server 节点下添加


proxy_pass http://myServer;


upstream 每个设备的状态;


down 表示当前的 server 暂时不参与负载 ;


weight 默认为 1,weight 越大,负载的权重就越大;


max_fails 允许请求失败的次数默认为 1,当超过最大次数时,返回 proxy_next_upstream 模块定义的错误 ;


fail_timeout:max_fails 次失败后,暂停的时间;


backup 其它所有的非 backup 机器 down 或者忙的时候,请求 backup 机器,所以这台机器压力会最轻;


(8)最后输入网址 http://localhost 检测(三个服务都必须打开,tomcat18080、tomcat28080、nginx.exe)


第一次打开的页面:



第二次打开的页面:



第三次打开的页面:



第四次打开的页面:



所以,现在基本上完成了 Nginx + Tomcat 搭建负载均衡;

用户头像

Java高工P7

关注

还未添加个人签名 2021.11.08 加入

还未添加个人简介

评论

发布
暂无评论
Nginx + Tomcat 搭建负载均衡,大牛带你直击优秀开源框架灵魂