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)

相关推荐
龙利基斯15 分钟前
Linux 基础复习笔记(整合版)
linux·服务器·笔记
过往入尘土24 分钟前
Linux 权限
linux·运维·服务器
阿巴~阿巴~24 分钟前
大致自定义文件I/O库函数的实现详解(了解即可)
linux·运维·服务器
努力一点94830 分钟前
在 Ubuntu 上将 Docker 降级到版本 25.0.5 (二) 降低版本,涉及兼容性问题
linux·运维·服务器·人工智能·ubuntu·docker·容器
大模型服务器厂商5 小时前
京东AI投资版图扩张:具身智能与GPU服务器重构科研新范式
服务器·人工智能·重构
开开心心就好7 小时前
Excel数据合并工具:零门槛快速整理
运维·服务器·前端·智能手机·pdf·bash·excel
悲伤小伞11 小时前
Linux_Ext系列文件系统基本认识(一)
linux·运维·服务器·c语言·编辑器
喜欢你,还有大家11 小时前
Linux笔记2——常用命令-1
linux·服务器·笔记
网硕互联的小客服12 小时前
服务器无法访问公网的原因及解决方案
运维·服务器
kyle~15 小时前
数据交换---JSON格式
服务器·microsoft·json