Nginx+Tomcat搭建高性能负载均衡集群

原文链接

本来说这一篇文章就足够用了,但是因为我们实际的代码是前后端分离了。我们的是单页面应用。所以说还有有一点点的不一样的。我们一般的配置是模型如下图所示:

Nginx+Tomcat搭建高性能负载均衡集群_第1张图片

但是我们实际情况是这样的:


Nginx+Tomcat搭建高性能负载均衡集群_第2张图片

首先我们准备了两台服务器

服务器一:主服务器,服务器二:次服务器

第一步当然是安装环境了jvm+tomcat+ngnix环境。两台服务器都安装好ngnix和tomcat,具体就不描述如何安装所需环境了下面我给出原文地址

在linux系统下安装ngnix

第二步我们在服务一中的tomcat中部署后台代码并运行,服务器一中的ngnix配置运行前端静态页面代码

单页面应用ngnix配置说明:

server {

#端口号

listen      5000;

#访问域名

server_name  localhost;

#charset koi8-r;

#access_log  logs/host.access.log  main;

#静态页面地址

root /usr/local/nginx/html/salary_h5/dist;

#配置入口页面

index index.html index.htm;

location ~* \.(?:manifest|appcache|html?|xml|json)$ {

expires -1;

# access_log logs/static.log; # I don't usually include a static log

}

#配置js,css

location ~* \.(?:css|js)$ {

try_files $uri =404;

access_log off;

}

# Any route containing a file extension (e.g. /devicesfile.js)

location ~ ^.+\..+$ {

try_files $uri =404;

}

# Any route that doesn't have a file extension (e.g. /devices)

#解决单页面应用刷新问题

location / {

try_files $uri $uri/ /index.html;

}

error_page  500 502 503 504  /50x.html;

location = /50x.html {

root  html;

}

}

第三步我们在服务器二中的tomcat部署运行后台代码,服务器二中的ngnix配置后台分流

服务器分流配置

#user  nobody;

#工作进程的个数,一般与计算机的cpu核数一致

worker_processes  1;

#error_log  logs/error.log;

#error_log  logs/error.log  notice;

#error_log  logs/error.log  info;

#pid        logs/nginx.pid;

events {

#单个进程最大连接数(最大连接数=连接数*进程数)

worker_connections  1024;

}

http {

#文件扩展名与文件类型映射表

include      mime.types;

#默认文件类型

default_type  application/octet-stream;

#log_format  main  '$remote_addr - $remote_user [$time_local] "$request" '

#                  '$status $body_bytes_sent "$http_referer" '

#                  '"$http_user_agent" "$http_x_forwarded_for"';

#access_log  logs/access.log  main;

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

sendfile        on;

#tcp_nopush    on;

#keepalive_timeout  0;

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

keepalive_timeout  65;

#启用Gizp压缩

#gzip  on;

#==================================================================================

#服务器集群 a.server.com;为集群服务器名

upstream a.server.com;{

#服务器1 weight是权重的意思,权重越大,分配的概率越大。

server 服务器:端口 weight=2;

#服务器2

server 服务器2:端口号 weight=1;

}

server {

#端口号

listen      8888;

#访问域名

server_name  提供给前端使用的域名

location / {

#交给名字为infud.server.com的集群去处理

proxy_pass http://a.server.com;

proxy_redirect default;

}

#=====================================================================================

第四步,将服务器二中ngnix配置分流后的ip地址提供前端调用。这样就能实现分流了。

你可能感兴趣的:(Nginx+Tomcat搭建高性能负载均衡集群)