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

Tomcat及Nginx部署使用

1.Tomcat以及JDK下载

服务器版本为almalinux9.6

Tomcat安装之前要安装jdk且设置好环境变量,本次实验使用的JDK版本为21,Tomcat版本为10.1.43;下载地址分别是

Java Downloads | Oracle 中国https://www.oracle.com/cn/java/technologies/downloads/#java21Apache Tomcat® - Apache Tomcat 10 Software Downloadshttps://tomcat.apache.org/download-10.cgi

2.JDK以及Tomcat安装

将下载好的JDK以及Tomcat上传到服务器

解压Tomcat以及JDK的压缩包,命令为:

#解压JDK
tar -zxvf jdk-21_linux-x64_bin.tar.gz
#解压Tomcat
tar -zxvf apache-tomcat-10.1.43.tar.gz

注意:

如果没有tar命令,请使用 dnf install -y tar 命令进行安装

如果JDK和Tomcat的版本不同,命令别照抄,文件名不同

解压好之后,我们需要设置JDK以及Tomcat的环境变量,修改/etc/profile文件,在文件末尾添加如下命令:

export JAVA_HOME=/root/jdk-21.0.8
export TOMCAT_HOME=/root/apache-tomcat-10.1.43/
export PATH=$PATH:$JAVA_HOME/bin:/$TOMCAT_HOME/bin

注意:JAVA_HOME以及TOMCAT_HOME环境变量指向的文件夹是上一步解压出来的文件夹,我是直接放在/root下来了,如果你解压路径不在/root请根据实际情况修改。修改好之后使用source /etc/profile让环境变量生效,同时通过java -version可以看到jdk版本

3.Tomcat配置

进入到Tomcat的bin目录输入 ./start.sh 命令就能启动Tomcat了,./start.sh代表启动当前目录下的start.sh脚本;Tomcat默认的端口是8080,我们可以通过访问服务器IP:8080的方式查看Tomcat是否在运行了

可以看到Tomcat启动成功了(这里172.16.201.142是我服务器的IP,到时候请根据自己的实际网络情况修改为自己服务器的IP)

修改Tomcat侦听端口,编辑Tomcat目录/conf/server.xml文件,将connector port="8080"修改为你要设置的端口,如下图我设置为了8088,然后保存

回到bin目录,用shutdown.sh关闭服务,用start.sh重新启动服务

可以看到侦听端口已经成功从8080修改为8088了

4.nginx安装部署

前面Tomcat用的是离线安装,nginx就用在线安装的方法

用dnf install 命令进行安装

dnf install nginx -y

依旧是启动nginx以及配置开机自启动

#启动nginx
systemctl start nginx
#配置nginx开机自启动
systemctl enable nginx

nginx服务器默认侦听80端口,所以我们直接输入服务器IP进行访问,可以看到nginx已经启动成功

5.Nginx反向代理以及负载均衡配置

nginx除了可以作为web服务器以外更多的是它的反向代理功能,本次来配置并测试Nginx的反向代理以及负载均衡功能。

Nginx 反向代理就是客户端和真实服务器之间的一个智能中介和调度中心,负责安全地转发请求、分发流量、优化性能,同时保护后端服务器的隐私和安全。

现在我有三台web服务器,我想让其他人都能通过同一个网址都能访问到,且我能对访问这三台web服务器的流量进行控制,比如性能好的服务器可以支持更多的并发,我让更多人的访问这台性能更好的服务器。从nginx角度来说,你就要先定义一个组,这个组包含这三台性能不同的web服务器,我根据web服务器的性能决定访问三台服务器的用户比例,这一步就是nginx的负载均衡;那有了组我得开放一个端口让用户进行访问,然后把访问这个端口的流量转发到前面定义好的组去,这就是nginx的反向代理。说的简单点,nginx开放端口,同时把访问这个端口的流量按照指定的规则转发给组内的服务器。

有了以上思路,来修改nginx的配置文件进行实现

下面的命令意思是我定义了一个test组,组内包含三台服务器对应172.16.201.142服务器的不同端口,权重都是1,然后访问nginx 80端口的流量会被代理到test组的服务器

更多的配置大家可以翻阅官网文档:

nginx documentationhttps://nginx.org/en/docs/

配置好后重启nginx服务

测试下效果,curl 172.16.201.142 | head -n 10 (只看输出结果的前10行)

可以看到访问被代理到了不同的服务(Tomcat,stirling-pdf,photopea)

http://www.lryc.cn/news/592623.html

相关文章:

  • 淘宝高级详情接口接入指南与Python代码实战
  • 如何搭建systemverilog/UVM验证环境开发vip(腾讯元宝)
  • C专题5:函数进阶和递归
  • InnoDB 多版本控制 慢sql排查(基于MySQL 5.7)
  • CentOS7 内网服务器yum修改
  • 谈进程间通信
  • NVIDIA 驱动安装失败问题排查与解决(含离线 GCC 工具链安装全过程)
  • python爬虫获取PDF
  • 去中心化交易所(DEX)深度解析:解码行业头部项目
  • WEB安全架构
  • WEB弹性设计
  • MyBatis之关联查询
  • leetcode:冗余连接 II[并查集检查环][节点入度]
  • 【机器人】HOV-SG 开放词汇 | 分层3D场景图 | 语言引导机器人导航
  • vue3+vite 使用scss、sass 全局定义的变量以及使用
  • 【Linux】进程间通信(三)——共享内存和消息队列
  • 特种作业操作证(制冷空调)的考试科目有哪些?
  • Spring AI开发智能客服(Tool calling)
  • 第七章 愿景09 海波龙的坑
  • 链表算法之【链表的中间节点】
  • MSTP+VRRP+DHCP配置实验(ensp)
  • 医疗人工智能的心电图分析:创新技术与临床应用
  • 多组件Canvas ID冲突解决方案
  • Pythonday17
  • 深入理解进程地址空间:虚拟内存与进程独立性
  • 2-大语言模型—理论基础:详解Transformer架构的实现(2)
  • 专题 原型与继承完全指南
  • QT聊天项目DAY15
  • 更适合后端宝宝的前端三件套之HTML
  • GEV/POT/Markov/点过程/贝叶斯极值全解析;基于R语言的极值统计学