首页 > 系统相关 >tomcat+NGINX实现负载均衡

tomcat+NGINX实现负载均衡

时间:2023-03-01 15:57:40浏览次数:44  
标签:负载 tomcat Tomcat Nginx Server NGINX usr nginx root

Tomcat + Nginx 实现负载均衡,稳的一批!

老炮说Java 2022-07-08 14:00 发表于山西 收录于合集 #老炮说Java488个 #nginx13个 #负载均衡1个 老炮说Java 十年老炮程序员带你玩技术 公众号 1. Tomcat 简介

 

  • Tomcat 是一个免费的开源的 Serlvet 容器,它是 Apache 基金会的 Jakarta 项目中的一个核心项目;
  • 由 Apache,Sun 和其它一些公司及个人共同开发而成。
  • 与传统的桌面应用程序不同,Tomcat 中的应用程序是一个 WAR(Web Archive)文件。
  • WAR 是 Sun 提出的一种 Web 应用程序格式,与 JAR 类似,也是许多文件的一个压缩包。

2. 安装 Tomcat 服务准备工作:
主机名操作系统IP地址
Tomcat-A CentOS 7.x 192.168.1.1

1.安装配置 Tomcat
1)安装 JDK:下载地址(需要创建 Oracle 账号)

[root@Tomcat-A ~]# ls
anaconda-ks.cfg apache-tomcat-8.5.16.tar.gz jdk-8u91-linux-x64.tar.gz
[root@Tomcat-A ~]# tar zxf jdk-8u91-linux-x64.tar.gz
[root@Tomcat-A ~]# mv jdk1.8.0_91/ /usr/local/java
[root@Tomcat-A ~]# cat <<END >> /etc/profile
export JAVA_HOME=/usr/local/java
export PATH=$PATH:/usr/local/java/bin
END
[root@Tomcat-A ~]# source /etc/profile
[root@Tomcat-A ~]# java -version# 查看 Java 版本号

 

2)安装 Tomcat 软件:


[root@Tomcat-A ~]# wget https://archive.apache.org/dist/tomcat/tomcat-8/v8.5.16/bin/apache-tomcat-8.5.16.tar.gz
[root@Tomcat-A ~]# tar zxf apache-tomcat-8.5.16.tar.gz
[root@Tomcat-A ~]# mv apache-tomcat-8.5.16 /usr/local/tomcat8
[root@Tomcat-A ~]# /usr/local/tomcat8/bin/startup.sh # 启动 Tomcat
[root@Tomcat-A ~]# netstat -anpt | grep 8080 # Tomcat 的工作端口
[root@Tomcat-A ~]# netstat -anpt | grep java # 查看 Java 端口号

 

图片


注解:
  • 8005端口:用 shutdown.sh 关闭 Tomcat 的时候需要用到的端口号,如果此端口没启动,Tomcat 不能用 shutdown 命令关闭。
  • 8009端口:是 Tomcat 负责和其他的 HTTP 服务器建立连接的端口,如 Nginx 和 Apache 互通时使用。(AJP/1.3 协议)
  • 8080端口:HTTP 访问时使用的端口。(HTTP/1.1 协议)

2.验证

图片


3.配置 Java 的 Web 目录

[root@Tomcat-A ~]# mkdir -p /web/tomcat
[root@Tomcat-A ~]# echo "192.168.1.1:Tomcat-A" > /web/tomcat/index.jsp

 

4.修改 Tomcat 主配置文件

[root@Tomcat-A ~]# vim /usr/local/tomcat8/conf/server.xml
在148-151行添加:
<Context docBase="/web/tomcat" path="" reloadable="false">
</Context>

 

图片

 

注解:
  • unpackWARs="true":配置自动识别 war 包。
  • autoDeploy="true":开启自动部署。
  • Context docBase="/web/tomcat":网页根目录。
  • path="":设置网页;相当于是 Nginx 中的 Location。
  • reloadble="false":不会自动重新加载 Web 应用,配置为 true 则会根据文件被改动后自动重新加载。

重启 Tomcat 服务
[root@Tomcat-A ~]# /usr/local/tomcat8/bin/shutdown.sh
[root@Tomcat-A ~]# /usr/local/tomcat8/bin/startup.sh

图片
验证:
图片

3. 负载均衡

准备工作:


主机名操作系统IP地址
Tomcat-A CentOS 7.x 192.168.1.1
Tomcat-B CentOS 7.x 192.168.1.2
Nginx-Server CentOS 7.x 192.168.1.3

 

注意:
  • Tomcat-A 可以用上面配置;
  • Tomcat-B 跟 Tomcat-A 步骤一样,但页面要区分开,方便测试;

1.部署 Nginx 服务器
1)安装 Nginx 服务
[root@Nginx-Server ~]# yum -y install pcre-devel zlib-devel popt-devel openssl-devel openssl
[root@Nginx-Server ~]# wget http://www.nginx.org/download/nginx-1.18.0.tar.gz
[root@Nginx-Server ~]# ls
anaconda-ks.cfg nginx-1.18.0.tar.gz
[root@Nginx-Server ~]# tar zxf nginx-1.18.0.tar.gz -C /usr/src/
[root@Nginx-Server ~]# cd /usr/src/nginx-1.18.0/
[root@Nginx-Server nginx-1.18.0]# useradd -M -s /sbin/nologin nginx
[root@Nginx-Server nginx-1.18.0]# ./configure \
--prefix=/usr/local/nginx \
--user=nginx \
--group=nginx \
--with-http_stub_status_module && make && make install
[root@Nginx-Server nginx-1.18.0]# ln -s /usr/local/nginx/sbin/nginx /usr/local/sbin/

2)配置 Nginx 主配置文件
[root@Nginx-Server ~]# vim /usr/local/nginx/conf/nginx.conf
在 32 行增加:
upstream tomcat_server {
    server 192.168.1.1:8080 weight=1;
    server 192.168.1.2:8080 weight=1;
}
在 49 行添加:
proxy_pass http://tomcat_server;

 

图片


[root@Nginx-Server ~]# nginx -t# 检查 Nginx 配置文件是否正确
[root@Nginx-Server ~]# nginx# 启用 Nginx 服务
[root@Nginx-Server ~]# ps aux | grep nginx# 查看 Nginx 服务进程
[root@Nginx-Server ~]# netstat -anpt | grep nginx# 查看 Nginx 端口号和进程号

图片
2.验证
使用浏览器访问 Nginx 服务器 IP 地址:
图片
不断刷新页面,观察页面变化:
图片
使用脚本查看效果:

 

[root@Nginx-Server ~]# for i in $(seq 10);do curl http://192.168.1.3;done

 

图片
来源:blog.csdn.net/weixin_46902396/article/details/122574996
ps:如果您觉文章有用,动动小手点个在看,点个再走吧!

图片

收录于合集 #老炮说Java  488个 上一篇老司机总结的12条 SQL 优化方案(非常实用)下一篇Nginx 常用配置总结:限流、缓存、黑白名单等 阅读原文 阅读 1862   老炮说Java 收藏此内容的人还喜欢   nginx虚拟服务名称详解,不信你有我全     软件测试大师 阅读 32 不看的原因   13-04 Nginx相关配置:资源目录指定、本地代理转发、gzip压缩     岐伯漫谈 阅读 27 不看的原因   基于Nginx和tomcat的正向代理和反向代理详解     IT那活儿 阅读 342 不看的原因    

标签:负载,tomcat,Tomcat,Nginx,Server,NGINX,usr,nginx,root
From: https://www.cnblogs.com/cherishthepresent/p/17168511.html

相关文章

  • NGINX一次电脑自己可以访问其它IP访问不了
    配制好NGINX 本地电脑curlhttp.....正常访问。。。其它电脑不可以第一想法防火墙查一下  firewall-cmd--statenotrunning然后查下是不是服务开启了netstat-l......
  • LVS负载均衡DR模式
    拓扑图:推荐步骤:Firewalld防火墙配置IP地址,LVS调度器配置IP地址修改内核参数,配置web服务器IP地址,配置NFS共享存储服务器IP地址,客户端配置IP地址搭建共享存储配置允许web......
  • nginx反向代理之域名问题
    实际申请一个域名,往往对于个人来说不太容易,但我们在开发过程中往往又需要,那该怎么办呢? 解决方法:修改本地host文件;因为域名解析会先在本地host文件进行解析,若解析不了再......
  • Nginx负载均衡配置
    upstreamtryy_8192{server192.168.104.221:8192weight=10max_fails=3fail_timeout=30s;server192.168.104.222:8192weight=10max_fails=3fail_timeout=3......
  • nginx-manager---build
    config/nginx-manager.yamlcomponent:nginx-managerproduct:MEF_CentersystemEnv:-workspace-processor-versionTOP_DIR:"{{systemEnv.workspace}}/{{......
  • 浅析nginx -s reload与service nginx restart区别及linux下nginx加载配置文件异常提示
    1、语法:nginx-ssignal。signal的值如下:stop:fastshutdown,快速的停止nginxquit:gracefulshutdown,不再接受新的请求,等正在处理的请求出完成后在进行停止(优雅的......
  • Nginx--logrotate日志切割打包
    1.系统是默认安装的,查看系统是否安装logrotatecentosrpm-qllogrotate/etc/cron.daily/logrotate/etc/logrotate.conf/etc/logrotate.d/etc/rwtab.d/logrotate/usr......
  • Nginx+Gunicorn+supervisor部署基于flask开发的项目
    1.概述(1)概述FlaskFlask是Python中有名的轻量级同步web框架Gunicorn高性能的PythonWSGI服务器NginxNginx是一个高性能的HTTP和反向代理服务器,同时也是......
  • nginx路径无法访问404
    在学习nginx的配置文件的时候出现如下报错  经排查发现是nginx.conf配置文件错误  正确的应该是  之后可以成功访问 ......
  • 使用 logrotate 切割nginx日志
    日志滚动logrotate能够自动完成日志的压缩、备份、删除和日志邮寄等工作。●logrotate默认的主配置文件是/etc/logrotate.conf。●/etc/logrotate.d的目录下的文件,这......