亿速云的负载均衡(Server Load Balancing)是对多台云服务器(计算集群)进行流量分发的网络服务设备。它可以通过流量分发,快速提高应用系统对外的服务能力;隐藏实际服务端口,增强内部系统的安全性;通过消除服务单点故障,提升应用系统的可靠性。今天亿速云就给大家介绍下Nginx+Tomcat负载均衡群集的实战方法和步骤
nginx处理静态
tomcat处理动态
合并为动静分离(前后端分离)
bin:存放启动和关闭Tomcat脚本
conf:存放Tomcat不同的配置文件
doc:存放Tomcat文档
lib/japser/common:存放Tomcat运行需要的库文件
logs:存放Tomcat执行时的LOG文件
src:存放Tomcat的源代码
webapps:Tomcat的主要Web发布目录
1.Nginx处理静态页面的效率远高于Tomcat的处理能力
2.如果Tomcat的请求量为1000次,则Nginx的请求量为6000次
3.Tomcat每秒的吞吐量为0 6M,Nginx的每秒吞吐量为3.6M
4.Nginx处理静态资源的能力是Tomcat处理的6倍,优势可见一斑
nginx:192.168.18.147---->CentOS 7-2
Tomcat 1:192.168.18.128---->CentOS 7-3
Tomcat 2:129.168.18.148---->CentOS 7-4
Client:192.168.18.129---->Win 7-1
[root@localhost ~]# hostnamectl set-hostname tomcat1
[root@localhost ~]# su
[root@tomcat1 ~]# systemctl stop firewalld.service
[root@tomcat1 ~]# setenforce 0
[root@tomcat1 ~]# mkdir /aaa
[root@tomcat1 ~]# mount.cifs //192.168.10.189/rpm /aaa
Password for root@//192.168.10.189/rpm:
[root@tomcat1 ~]# cd /aaa/tomcat/
[root@tomcat1 tomcat]# ls
apache-tomcat-7.0.54.tar.gz jdk-8u91-linux-x64.tar.gz
apache-tomcat-8.5.16.tar.gz nginx-1.12.0.tar.gz
jdk-7u65-linux-x64.gz nginx-1.6.0.tar.gz
[root@tomcat1 tomcat]# tar zxvf jdk-8u91-linux-x64.tar.gz -C /usr/local/
#设置环境变量:
[root@tomcat1 tomcat]# vim /etc/profile
#按大写字母G到末行,按小写字母o在下行插入以下内容:
export JAVA_HOME=/usr/local/jdk1.8.0_91
export JRE_HOME=${JAVA_HOME}/jre
export CLASSPATH=.:${JAVA_HOME}/lib:${JRE_HOME}/lib
export PATH=${JAVA_HOME}/bin:$PATH
#修改完成后,按Esc退出插入模式,输入:wq保存退出
[root@tomcat1 tomcat]# source /etc/profile
[root@tomcat1 tomcat]# ls
apache-tomcat-7.0.54.tar.gz jdk-8u91-linux-x64.tar.gz
apache-tomcat-8.5.16.tar.gz nginx-1.12.0.tar.gz
jdk-7u65-linux-x64.gz nginx-1.6.0.tar.gz
[root@tomcat1 tomcat]# tar zxvf apache-tomcat-8.5.16.tar.gz -C /usr/local/
[root@tomcat1 tomcat]# cd /usr/local/
[root@tomcat1 local]# ls
apache-tomcat-8.5.16 etc include lib libexec share
bin games jdk1.8.0_91 lib64 sbin src
[root@tomcat1 local]# mv apache-tomcat-8.5.16/ tomcat
[root@tomcat1 local]# ls
bin games jdk1.8.0_91 lib64 sbin src
etc include lib libexec share tomcat
[root@tomcat1 local]# ln -s /usr/local/tomcat/bin/startup.sh /usr/local/bin/
[root@tomcat1 local]# ln -s /usr/local/tomcat/bin/shutdown..sh /usr/local/bin/
[root@tomcat1 local]# mkdir -pv /web/webapp1
mkdir: 已创建目录 "/web"
mkdir: 已创建目录 "/web/webapp1"
[root@tomcat1 local]# cd /web/webapp1/
[root@tomcat1 webapp1]# vim index.jsp
<%@ page language="java" import="java.until.*" pageEncoding="UTF-8"%>
<html>
<head>
<title>JSP test1 page</title>
</head>
<body>
<% out.println("Welcome ACCP Web");%>
</body>
</html>
#添加完成后输入:wq保存退出
[root@tomcat1 webapp1]# vim /usr/local/tomcat/conf/server.xml
#输入/Host查找到以下内容
<Host name="localhost" appBase="webapps"
unpackWARs="true" autoDeploy="true">
#在此行下插入,添加站点目录
<Context docBase="/web/webapp1" path="" reloadable="false">
</Context>
#添加完成后输入:wq保存退出
[root@tomcat1 webapp1]# startup.sh
Using CATALINA_BASE: /usr/local/tomcat
Using CATALINA_HOME: /usr/local/tomcat
Using CATALINA_TMPDIR: /usr/local/tomcat/temp
Using JRE_HOME: /usr/local/jdk1.8.0_91/jre
Using CLASSPATH: /usr/local/tomcat/bin/bootstrap.jar:/usr/local/tomcat/bin/tomcat-juli.ja
Tomcat started.
[root@localhost ~]# hostnamectl set-hostname tomcat2
[root@localhost ~]# su
[root@tomcat1 ~]# systemctl stop firewalld.service
[root@tomcat1 ~]# setenforce 0
[root@tomcat1 ~]# mkdir /aaa
[root@tomcat1 ~]# mount.cifs //192.168.10.189/rpm /aaa
Password for root@//192.168.10.189/rpm:
[root@tomcat1 ~]# cd /aaa/tomcat/
[root@tomcat1 tomcat]# ls
apache-tomcat-7.0.54.tar.gz jdk-8u91-linux-x64.tar.gz
apache-tomcat-8.5.16.tar.gz nginx-1.12.0.tar.gz
jdk-7u65-linux-x64.gz nginx-1.6.0.tar.gz
[root@tomcat1 tomcat]# tar zxvf jdk-8u91-linux-x64.tar.gz -C /usr/local/
#设置环境变量:
[root@tomcat1 tomcat]# vim /etc/profile
#按大写字母G到末行,按小写字母o在下行插入以下内容:
export JAVA_HOME=/usr/local/jdk1.8.0_91
export JRE_HOME=${JAVA_HOME}/jre
export CLASSPATH=.:${JAVA_HOME}/lib:${JRE_HOME}/lib
export PATH=${JAVA_HOME}/bin:$PATH
#修改完成后,按Esc退出插入模式,输入:wq保存退出
[root@tomcat1 tomcat]# source /etc/profile
[root@tomcat1 tomcat]# ls
apache-tomcat-7.0.54.tar.gz jdk-8u91-linux-x64.tar.gz
apache-tomcat-8.5.16.tar.gz nginx-1.12.0.tar.gz
jdk-7u65-linux-x64.gz nginx-1.6.0.tar.gz
[root@tomcat1 tomcat]# tar zxvf apache-tomcat-8.5.16.tar.gz -C /usr/local/
[root@tomcat1 tomcat]# cd /usr/local/
[root@tomcat1 local]# ls
apache-tomcat-8.5.16 etc include lib libexec share
bin games jdk1.8.0_91 lib64 sbin src
[root@tomcat1 local]# mv apache-tomcat-8.5.16/ tomcat
[root@tomcat1 local]# ls
bin games jdk1.8.0_91 lib64 sbin src
etc include lib libexec share tomcat
[root@tomcat1 local]# ln -s /usr/local/tomcat/bin/startup.sh /usr/local/bin/
[root@tomcat1 local]# ln -s /usr/local/tomcat/bin/shutdown..sh /usr/local/bin/
[root@tomcat1 local]# mkdir -pv /web/webapp1
mkdir: 已创建目录 "/web"
mkdir: 已创建目录 "/web/webapp1"
[root@tomcat1 local]# cd /web/webapp1/
[root@tomcat1 webapp1]# vim index.jsp
<%@ page language="java" import="java.until.*" pageEncoding="UTF-8"%>
<html>
<head>
<title>JSP test1 page</title>
</head>
<body>
<% out.println("Welcome KGC Web");%>
</body>
</html>
#添加完成后输入:wq保存退出
[root@tomcat1 webapp1]# vim /usr/local/tomcat/conf/server.xml
#输入/Host查找到以下内容
<Host name="localhost" appBase="webapps"
unpackWARs="true" autoDeploy="true">
#在此行下插入,添加站点目录
<Context docBase="/web/webapp1" path="" reloadable="false">
</Context>
#添加完成后输入:wq保存退出
[root@tomcat1 webapp1]# startup.sh
Using CATALINA_BASE: /usr/local/tomcat
Using CATALINA_HOME: /usr/local/tomcat
Using CATALINA_TMPDIR: /usr/local/tomcat/temp
Using JRE_HOME: /usr/local/jdk1.8.0_91/jre
Using CLASSPATH: /usr/local/tomcat/bin/bootstrap.jar:/usr/local/tomcat/bin/tomcat-juli.ja
Tomcat started.
[root@localhost ~]# hostnamectl set-hostname nginx
[root@localhost ~]# su
[root@nginx ~]# yum install pcre-devel zlib-devel gcc gcc-c++ make -y
[root@nginx ~]# mkdir /aaa
[root@nginx ~]# mount.cifs //192.168.10.189/rpm /aaa
Password for root@//192.168.10.189/rpm:
[root@nginx ~]# cd /aaa/tomcat/
[root@nginx tomcat]# ls
apache-tomcat-7.0.54.tar.gz jdk-8u91-linux-x64.tar.gz
apache-tomcat-8.5.16.tar.gz nginx-1.12.0.tar.gz
jdk-7u65-linux-x64.gz nginx-1.6.0.tar.gz
[root@nginx tomcat]# tar zxvf nginx-1.12.0.tar.gz -C /usr/local/
[root@nginx tomcat]# cd /usr/local/nginx-1.12.0/
[root@nginx nginx-1.12.0]# ls
auto CHANGES.ru configure html man src
CHANGES conf contrib LICENSE README
[root@nginx nginx-1.12.0]# useradd -M -s /sbin/nologin nginx
[root@nginx nginx-1.12.0]# ./configure \
--prefix=/usr/local/nginx \
--user=nginx \
--group=nginx \
--with-http_stub_status_module \
--with-http_gzip_static_module \
--with-http_flv_module
[root@nginx nginx-1.12.0]# make && make install
[root@nginx nginx-1.12.0]# vim /usr/local/nginx/conf/nginx.conf
#gzip on; #在下行插入以下内容
upstream tomcat_server {
server 192.168.18.128:8080 weight=1;
server 192.168.18.148:8080 weight=1;
}
location / {
root html;
index index.html index.htm; #在下行插入
proxy_pass http://tomcat_server;
}
#修改完成后按Esc退出插入模式,输入:wq保存退出
[root@nginx nginx-1.12.0]# ln -s /usr/local/nginx/sbin/nginx /usr/local/sbin/
[root@nginx nginx-1.12.0]# nginx -t
nginx: the configuration file /usr/local/nginx/conf/nginx.conf syntax is ok
nginx: configuration file /usr/local/nginx/conf/nginx.conf test is successful
[root@nginx nginx-1.12.0]# nginx
[root@nginx nginx-1.12.0]# netstat -ntap | grep 80
tcp 0 0 0.0.0.0:80 0.0.0.0:* LISTEN 8917/nginx: master
####2.再次刷新可以可到:Welcome ACCP Web
如果大家还有什么地方需要了解的可以在亿速云官网找我们的专业技术工程师的,亿速云技术工程师在行业内拥有十几年的经验了,所以会比小编回答的更加详细专业。亿速云官网链接www.yisu.com
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。