当前位置: 首页 > 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.dtcms.com/a/286025.html

相关文章:

  • DevExpress WinForms v25.1 亮点:AI驱动的语义搜索、模板库更新
  • RPC 与 Feign 的区别笔记
  • SQLite 数据库字段类型-详细说明,数据类型详细说明。
  • 服务器mysql数据的简单备份脚本
  • 深入浅出MyBatis缓存:如何让数据库交互飞起来
  • Agent-S:重新定义下一代 AI 智能体开发框架
  • 论文review SfM MVS VGGT: Visual Geometry Grounded Transformer
  • 【面试题】大厂高压面经实录丨第二期
  • Jmeter系列(6)-测试计划
  • 【工具变量】地级市人力资本测算数据集(1990-2024年)
  • 近期遇到的问题汇总
  • 【48】MFC入门到精通——MFC 文件读写总结 CFile、CStdioFile、CFileDialog
  • SpringCloud相关总结
  • [论文阅读] 人工智能 + 软件工程 | 单会话方法论:一种以人类为中心的人工智能辅助软件开发协议
  • oracle 11.2.0.4 RAC下执行root.sh脚本报错
  • 2025年UDP应用抗洪指南:从T级清洗到AI免疫,实战防御UDP洪水攻击
  • 【Apache Paimon】-- 1.2.0 版本的Table 类型和 merge engine
  • JAVA 使用Apache POI合并Word文档并保留批注的实现
  • 近期学习过程问题整理
  • Java学习------ConcurrentHashMap
  • Spring底层(二)Spring IOC容器加载流程原理
  • PermissionError: [Errno 13] Permission denied
  • 复盘爬虫课后练习题
  • 前端学习8:JavaScript数据类型|声明变量|函数定义|函数参数|作用域(多个小练习上手)
  • 【三维重建】LODGE:谷歌DeepMind发布大场景超快3DGS!分层渲染,移动设备均可!
  • CentOS7 内网服务器yum修改
  • 金属伪影校正的双域联合深度学习框架复现
  • blender如何队列渲染多个工程文件的动画?
  • 声画同步!5 个音视频素材适配的网站,创作更和谐
  • 算法学习笔记:29.拓扑排序——从原理到实战,涵盖 LeetCode 与考研 408 例题