当前位置: 首页 > news >正文

jdk和tomcat的环境配置以及使用nginx代理tomcat来实现负载均衡

目录

1.jdk环境配置

1.jdk下载

2.解压

3.将jdk-22.2移动到指定目录/usr/local/jdk22/下

4.配置文件

5.运行profile

6.测试

2.tomcat环境配置

1.下载tomcat

2.解压

3.将解压后的文件移动指定目录

4.启动tomcat

5.查看端口确定是否确定成功

6.测试

7.tomcat目录

1.bin

2.webapps

3.work

4.logs---日志文档

5.conf

6.lib

3.负载均衡


1.jdk环境配置

1.jdk下载

官网下载地址:

Java Downloads | Oracle 中国

软件包直接地址:

https://download.oracle.com/java/22/latest/jdk-22_linux-x64_bin.tar.gz

2.解压
tar -zxvf jdk-22.2.tar.gz
3.将jdk-22.2移动到指定目录/usr/local/jdk22/下
mv jdk-22.2.0/ /usr/local/jdk22/
4.配置文件

可以使用vim编辑配置文件,将java的安装路径与家目录写到里面,也可以使用sed编辑写入。

vim /etc/profile
...
export JAVA_HOME=/usr/local/jdk22/
export PATH=$JAVA_HOME/bin:$PATH
sed -i '$aexport JAVA_HOME=/usr/local/jdk22/' /etc/profile
sed -i '$aexport PATH=$JAVA_HOME/bin:$PATH' /etc/profile
5.运行profile
source /ect/profile
6.测试
java
java -version

 运行java出现文字界面表示安装成功,接着查看版本信息

2.tomcat环境配置

1.下载tomcat

官网地址:

https://dlcdn.apache.org/tomcat/tomcat-10/v10.1.26/bin/apache-tomcat-10.1.26.tar.gz

wget  https://dlcdn.apache.org/tomcat/tomcat-10/v10.1.26/bin/apache-tomcat-10.1.26.tar.gz 
2.解压
tar -zxvf apache-tomcat-10.1.26.tar.gz 
3.将解压后的文件移动指定目录
mv apache-tomcat-10.1.26 /usr/local/tomcat/
ls /usr/local/tomcat/
bin           conf             lib      logs    README.md      RUNNING.txt  webapps
BUILDING.txt  CONTRIBUTING.md  LICENSE  NOTICE  RELEASE-NOTES  temp         work
4.启动tomcat
 /usr/local/tomcat/bin/startup.sh    
5.查看端口确定是否确定成功

无论是否开启成功,都会显示started,所以我们需要查看端口确定

 出现8005端口和8080端口表示成功确定tomcat服务

6.测试

在浏览器输入地址加端口号就可以访问到以下界面

7.tomcat目录
1.bin

        tomcat的可执行文件,在Windows和Linux上通用。在Win10优化以后传到Linux,只需添加权限就可以了,但在不同操作系统上的文件扩展名不一样,win对应的文件扩展名为bat,Linux的扩展名为sh。

停用tomcat命令:/usr/local/tomcat/bin/shutdown.sh

2.webapps

        在webapps命令里面每一个目录都是一个项目。

        ROOT是默认的项目目录,在实际开发中,我们可以将程序打包成ROOT.war或者架构目录名称修改为ROOT就可以直接发布。

        在这个目录下可以部署一些静态资源,可以使用浏览器查看,也可以下载使用。在该目录下创建的新文件夹作为项目发布时有两个选项,一个是需要将项目移动到该目录下,另一个是在conf/server.xml修改静态资源的位置。

        使用192.168.1.25:80880直接访问的页面是ROOT目录下的index.jsp。

创建一个目录并发布一个项目在浏览器查看发布的该项目

[root@dynamic001 webapps]# mkdir myweb
[root@dynamic001 webapps]# vim myweb/my.txt

3.work

        work目录的作用是将jsp文件还原成java和class 文件,保存路径在/usr/local/tomcat/work/Ca

tlina/localhost/myweb/org/apache/jsp/xxx.java,自动将jsp解析为java文件,不需要重启服务器。

[root@dynamic001 myweb]# vim a.jsp
i am jsp<%=3+4 %>

浏览器测试,可以将计算结果输出到页面

4.logs---日志文档

catalina.log和catalina.log都有对应的日期,可以根据日期查看日志。

5.conf

conf目录里面最重要的文件是server.xml和web.xml文件,配置文件都在server.xml文件中。

查看两个文件内容

[root@dynamic001 conf]# vim server.xml
...<Connector port="8080" protocol="HTTP/1.1"connectionTimeout="20000"redirectPort="8443"maxParameterCount="1000"/>
...<Host name="localhost"  appBase="webapps"unpackWARs="true" autoDeploy="true">
...[root@dynamic001 conf]# vim web.xml
6.lib

tomcat运行为项目提供的依赖文件

3.负载均衡

需要四台主机,一台做代理,三台安装jdk和tomcat

1.将三台dynamic主机都安装好jdk并启动tomcat服务,发布一个项目并在浏览器测试。

[root@dynamic001 ~]# echo "i am dynamic jsp server page,number is 001" > /usr/local/tomcat/webapps/ROOT/index.jsp 

 

 2.修改配置文件

[root@staticserver nginx]# cd conf.d/
[root@staticserver conf.d]# ls
eleme.conf  qingtang.conf
[root@staticserver conf.d]# cp eleme.conf el.conf   #复制一个文件
[root@staticserver conf.d]# ls
el.conf  eleme.conf  qingtang.conf
[root@staticserver conf.d]# vim el.conf server {listen          80;server_name     www.el.com;root            /eleme;location / {proxy_pass      el_group;}}
[root@staticserver conf]# vim nginx.conf

 

3.重启nginx

[root@staticserver conf.d]# /usr/local/nginx/sbin/nginx -s reload

4.劫持IP

	
[root@staticserver conf.d]# vim /etc/hosts
...
192.168.1.20 www.el.com

5.测试

出现该界面表示服务正常运行,只是tomcat代理不支持“_”,所以我们进配置文件将下划线去掉之后,重启nginx再次测试就可以啦。

相关文章:

  • 北京网站建设多少钱?
  • 辽宁网页制作哪家好_网站建设
  • 高端品牌网站建设_汉中网站制作
  • 0064__管道 (进程间通信)
  • C++数据结构学习(顺序表)
  • 洛谷 P1868 饥饿的奶牛
  • 实现一个全栈模糊搜索匹配的功能
  • 时空预测又爆火了!新SOTA实现零样本精准预测
  • C语言《智能自平衡小车,实现平衡功能的基础上,加入了超声波避障、超声波跟随、蓝牙遥控等功能》+源代码+文档说明
  • MySQL —— 初始数据库
  • 智能闹钟和普通闹钟有什么区别
  • finalshell连接kali-Linux失败问题略谈
  • 书单 | 大模型的书那么多,如何快速选到适合自己的那一本?来,教你!
  • 论文翻译:Large Language Models in Education: Vision and Opportunities
  • 大数据核心概念与技术架构简介
  • CSS雷达光波效果(前端雷达光波效果)
  • STM32F401VET6 PROTEUS8 ILI9341 驱动显示及仿真
  • Unity材质球自动遍历所需贴图
  • 深入了解以太坊
  • 网络传输文件的问题
  • IE9 : DOM Exception: INVALID_CHARACTER_ERR (5)
  • EOS是什么
  • express.js的介绍及使用
  • iOS筛选菜单、分段选择器、导航栏、悬浮窗、转场动画、启动视频等源码
  • java正则表式的使用
  • mac修复ab及siege安装
  • Making An Indicator With Pure CSS
  • Mysql优化
  • 大快搜索数据爬虫技术实例安装教学篇
  • 基于 Babel 的 npm 包最小化设置
  • 基于Mobx的多页面小程序的全局共享状态管理实践
  • 前嗅ForeSpider中数据浏览界面介绍
  • 如何将自己的网站分享到QQ空间,微信,微博等等
  • 深度学习中的信息论知识详解
  • 使用Tinker来调试Laravel应用程序的数据以及使用Tinker一些总结
  • 手写双向链表LinkedList的几个常用功能
  • 微信小程序实战练习(仿五洲到家微信版)
  • 学习笔记:对象,原型和继承(1)
  • 译米田引理
  • 译自由幺半群
  • ​LeetCode解法汇总2670. 找出不同元素数目差数组
  • # 职场生活之道:善于团结
  • #DBA杂记1
  • #define、const、typedef的差别
  • #在线报价接单​再坚持一下 明天是真的周六.出现货 实单来谈
  • (20)目标检测算法之YOLOv5计算预选框、详解anchor计算
  • (二)fiber的基本认识
  • (附源码)python房屋租赁管理系统 毕业设计 745613
  • (附源码)springboot建达集团公司平台 毕业设计 141538
  • (七)Activiti-modeler中文支持
  • (中等) HDU 4370 0 or 1,建模+Dijkstra。
  • (转)h264中avc和flv数据的解析
  • .gitignore文件忽略的内容不生效问题解决
  • .NET CORE 2.0发布后没有 VIEWS视图页面文件
  • .Net Core 中间件与过滤器
  • .net core开源商城系统源码,支持可视化布局小程序
  • .NET Standard 的管理策略
  • .NET 中 GetProcess 相关方法的性能