首页 / TOMCAT / nginx+tomcat負載均衡
nginx+tomcat負載均衡
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了nginx+tomcat負載均衡,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含6032字,纯文字阅读大概需要9分钟。
内容图文
![nginx+tomcat負載均衡](/upload/InfoBanner/zyjiaocheng/940/aaf42f4b3d724a1abd0b3d2bf30ca20c.jpg)
Linux环境搭建Nginx+Tomcat负载均衡集群
主机 | 操作系统 | IP地址 | 主要软件 |
---|---|---|---|
Nginx服务器 | RedHat7.3 x86_64 | 192.168.113.151 | nginx-1.12.0.tar.gz |
Tomcat服务器1 | CentOS7.4 x86_64 | 192.168.113.129 | jdk-8u91-linux-x64.tar.gz / apache-tomcat-8.5.16.tar.gz |
Tomcat服务器2 | CentOS7.4 x86_64 | 192.168.113.150 | jdk-8u91-linux-x64.tar.gz / apache-tomcat-8.5.16.tar.gz |
Tomcat1 server配置
1.启动主机后关闭防火墙和SELINUX
systemctl disable firewalld.service //禁用防火墙服务
systemctl stop firewalld.service //关闭防火墙服务
2.安装JDK,配置Java环境
(1).解压jdk软件至/opt目录下,并将解压后生成的jdk文件夹移到/usr/local/下,改名为java。
tar zxvf jdk-7u65-linux-x64.gz -C /opt
mv jdk1.7.0_65/ /usr/local/java
(2).在/etc/profile.d/下建立java.sh脚本。
[root@centos7-1 ~]# vim /etc/profile.d/java.sh
export JAVA_HOME=/usr/local/java //设置Java根目录
export PATH=$PATH:$JAVA_HOME/bin //在PATH环境变量中添加Java根目录下的bin/子目录
(3).将java.sh脚本导入到环境变量,使其生效
source /etc/profile.d/java.sh
(4).运行java-version命令查看java版本是否和之前安装的一致。
[root@centos7-1 ~]# java -version
openjdk version "1.8.0_131"
OpenJDK Runtime Environment (build 1.8.0_131-b12)
OpenJDK 64-Bit Server VM (build 25.131-b12, mixed mode)
3.安装配置Tomcat
(1).解压apache-tomcat-8.5.16.tar.gz包至/opt目录,并将解压后生成的文件夹移动到/usr/local/下,改名为tomcat8。
tar zxvf apache-tomcat-8.5.16.tar.gz -C /opt/
mv apache-tomcat-8.5.16/ /usr/local/tomcat8
(2).启动Tomcat
[root@centos7-1 ~]# /usr/local/tomcat8/bin/startup.sh
Using CATALINA_BASE: /usr/local/tomcat8
Using CATALINA_HOME: /usr/local/tomcat8
Using CATALINA_TMPDIR: /usr/local/tomcat8/temp
Using JRE_HOME: /usr/local/java
Using CLASSPATH: /usr/local/tomcat8/bin/bootstrap.jar:/usr/local/tomcat8/bin/tomcat-juli.jar
Tomcat started.
Tomcat默认运行在8080端口,运行netstat命令查看8080端口监听的信息。
[root@centos7-1 ~]# netstat -ntap | grep 8080
tcp6 0 0 :::8080 :::* LISTEN 1583/java
(3).打开浏览器访问测试http://192.168.113.129:8080/, 如果出现x下面的界面,则表示Tomcat已经配置启动成功。
4.建立Java的web站点
(1).在根目录下建立一个web目录,并在里面建立一个webapp1目录,用于存放网站文件。
[root@centos7-1 ~]# mkdir -pv /web/webapp1
mkdir: 已创建目录 "/web"
mkdir: 已创建目录 "/web/webapp1"
(2).在webapp1目录下建立一个index.jsp的测试页面。
[root@centos7-1 ~]# vim /web/webapp1/index.jsp
<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%> //注释
<html>
<head>
<title>JSP test1 page</title> //测试页标题
</head>
<body>
<% out.println("Welcome to test site,http://www.test1.com");%> //测试页主体内容
</body>
</html>
(3).修改Tomcat的server.xml文件。
定义一个虚拟主机,并将网站文件路径指向已经建立的/web/webapp1,在host段增加context段。
[root@centos7-1 ~]# vim /usr/local/tomcat8/conf/server.xml
<Host name="localhost" appBase="webapps"
unpackWARs="true" autoDeploy="true">
<Context docBase="/web/webapp1" path="" reloadable="false">
</Context>
- docBase:web应用的文档基准目录
- reloadable: 设置监视“类”是否变化
- path="": 设置默认“类
(4).关闭Tomcat,再重新启动。
/usr/local/tomcat8/bin/shutdown.sh //关闭Tomcat
/usr/local/tomcat7/bin/startup.sh //重启Tomcat
(5).通过浏览器访问http://192.168.113.129:8080/, 出现下面的界面,说明Tomcat站点配置成功并且能够运行JSP了。
Tomcat2 server配置
Tomcat2 server配置方法基本同Tomcat1,把1改成2
Nginx服务器配置
在Nginx服务器192.168.113.151上安装Nginx,反向代理两个Tomcat站点,并实现负载均衡。
1.关闭防火墙
systemctl disable firewalld.service
systemctl stop firewalld.service
2.安装支持软件
yum install gcc gcc-c++ make pcre pcre-devel zlib-devel openssl-devel -y
3.解压并安装Nginx
useradd -s /bin/false www //创建运行用户www,强制禁止登陆系统shell环境
tar zxvf nginx-1.12.0.tar.gz -C /opt //解压nginx软件至/opt目录下
cd /opt/nginx-1.12.0/ //切换到解压后的nginx文件夹目录下
./configure \ //配置nginx的具体选项
--prefix=/usr/local/nginx \
--user=www \
--group=www \
--with-file-aio \
--with-http_stub_status_module \
--with-http_gzip_static_module \
--with-http_flv_module \
--with-http_ssl_module
-
–prefix=/usr/l,ocal/nginx:指定nginx安装路径
-
–user=www,–group=www:指定运行的用户和组
-
–with-file-aio:启用文件修改支持
-
–with-http_stub_status_module:启用状态统计
-
–with-http_gzip_static_module:启用gzip静态压缩
-
–with-http_flv_module:启用flv模块,提供寻求内存使用基于时间的偏移量文件
-
–with-http_ssl_module:启用ssl模块
make&&make install
編譯安裝
4.配置nginx.conf
vim /usr/local/nginx/conf/nginx.conf
(1).在http{...}中加入以下代码,设定负载均衡的服务器列表,weight参数表示权值,权值越高被分配到的概率越大。为了使测试效果明显,把权重设置为一样。
upstream tomcat_server {
server 192.168.113.129:8080 weight=1;
server 192.168.113.150:8080 weight=1;
} //配置后端服务池tomcat_server,以提供响应数据
(2).在http{...} - server{...} - location /{...}中加入一行“proxy_pass http://tomcat_server;” 。
location / {
root html;
index index.html index.htm;
proxy_pass http://tomcat_server; //配置将访问请求转发给后端服务器池的服务器处理
}
利用以上方式,把Nginx的默认站点通过proxy_pass方法代理到了设定好的tomcat_server负载均衡服务器组上。
5.测试nginx配置文件是否正确。
[root@RedHat7-1 ~]# /usr/local/nginx/sbin/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
6.启动Nginx服务并查看其端口
[root@RedHat7-1 ~]# ln -s /usr/local/nginx/sbin/nginx /usr/local/sbin/ //创建nginx主程序的软链接,方便调用nginx命令
[root@RedHat7-1 ~]# nginx //启动nginx服务
[root@RedHat7-1 ~]# netstat -ntap | grep nginx
tcp 0 0 0.0.0.0:80 0.0.0.0:* LISTEN 17819/nginx: master
[root@RedHat7-1 ~]# killall -1 nginx //重启nginx服务
-
测试负载均衡效果
1.打开浏览器访问http://192.168.113.151/.
2.不断刷新浏览器测试,可以看到由于权重相同,页面会反复在以下两个页面切换。
第一次访问,出现test1的测试页面,刷新后,第二次访问出现test2的测试页面,这说明负载均衡集搭建成功,已经可以在两个tomcat server站点间进行切换了。
内容总结
以上是互联网集市为您收集整理的nginx+tomcat負載均衡全部内容,希望文章能够帮你解决nginx+tomcat負載均衡所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。