介绍
Apache Tomcat®软件是一个开源实现 Jakarta Servlet、Jakarta Server Pages、Jakarta Expression Language、Jakarta WebSocket、Jakarta Annotations 和 Jakarta Authentication 规范。 这些规范是Jakarta EE平台的一部分。
Apache Tomcat软件是在开放和参与式中开发的。 环境,并在 Apache 许可证版本 2 下发布。这 Apache Tomcat项目旨在成为同类最佳项目的合作 来自世界各地的开发人员。
Apache Tomcat 软件为众多大规模任务关键型网络提供支持 适用于各种行业和组织。一些 这些用户及其故事列在 PoweredBy wiki 页面上
Apache Tomcat,Tomcat,Apache,Apache feather和Apache Tomcat 项目徽标是 Apache 软件基金会的商标。
环境
我在centos7 上进行的一系列操作
准备安装包环境 (下载)
我们要准备tomcat的tar归档包和java归档包
因为tomcat依赖java环境
前往tomcat官网
Apache Tomcat® - Welcome!
这里选择版本,你可以选择需要的版本或者最新版都可以,我这里拿 10 当案例了
选择那个版本点击一下进去
咱们是Linux选择上面两个的其中任意一个,我这里选择第二个以tar.gz结尾的
点击一下即可下载
下载完这个我们再去下载jdk包也就是java
爪哇下载 |甲骨文中国 (oracle.com)
点击下载
现在两个包全准备好了
把这俩包全放进服务器
安装tomcat和jdk
首先我们要确保没有以前的Java环境和关闭防火墙和seLinux
yum -y remove java
systemctl stop firewalld
setenforce 0
这个只是临时关闭,要是想学习详细的防火墙或者selinux可以翻找我往期文章
现在先配置java环境
tar xf jdk-20_linux-x64_bin.tar.gz
这里跟上你的安装包名称,可能我们下载的版本不同只需修改一下归档包名称即可其他操作的大同小异
mv jdk-20.0.2/ /usr/local/java
vim /etc/profile.d/java.sh写入 ↓ export JAVA_HOME=/usr/local/java
#设置java根目录
export PATH=$PATH:$JAVA_HOME/bin
#在path环境变量中添加java根目录下的bin子目录
source /etc/profile.d/java.sh
ok了 java环境配置成功
开始安装tomcat
tar xf apache-tomcat-10.1.13.tar.gz
# tar xf后面跟上你tomcat归档包名称
mv apache-tomcat-10.1.13 /usr/local/tomcat
其实到这里就已经可以启动了
启动&&关闭
/usr/local/tomcat/bin/startup.sh
8080
如果你要访问的话就 服务器ip地址:8080
停止的话就使用
/usr/local/tomcat/bin/shutdown.sh
关闭成功
配置基础网页
如果你想修改这个默认网页
vim /usr/local/tomcat/conf/server.xml
在141行 开始配置
appBase就是主路径
我们在/下打算创建一个web主路径就修改为
配置完这个再加一行
<Context docBase="/web/webapp1" path="" reloadable="false"></Context>
docBase ##web应用的文档基准目录
path ##设置默认类
reloadable ##设置监视‘类’是否变化
现在我们把网页文件放进/web/webapp1就行了
在这之前记得重启下服务,刷新一下配置文件
/usr/local/tomcat/bin/shutdown.sh
/usr/local/tomcat/bin/startup.sh
注意:
主网页文件名称应为 index.jsp
nginx负载均衡
环境介绍
第一台服务器 tomcat 192.168.254.1
第二台服务器 tomcat 192.186.254.2
第三台服务器 nginx 192.168.254.3
使用第三台nginx服务器作为网站入口,由nginx当作入口让他去分配访问那个网站
官网安装
去nginx官网nginxhttps://nginx.org/en/
点击download
点击要安装的软件
把下载下来的tar归档包放进服务器
yum -y install pcre-devel zlib-devel openssl-devel gcc make psmisc
groupadd www
useradd -g www -s /bin/false www
/bin/false和/sbin/nologin的区别
/bin/false是最严格的禁止login选项,一切服务都不能用。
/sbin/nologin只是不允许login系统
tar xf nginx-1.24.0.tar.gz -C /usr/src/
cd /usr/src/nginx-1.24.0/
./configure --prefix=/usr/local/nginx --user=www --group=www --with-file-aio --with-http_stub_status_module --with-http_gzip_static_module --with-http_flv_module --with-http_ssl_module &&make &&make install
--user=www --group=www 指定运行的用户、组
--with-file-aio 启用文件修改支持
--with-http_stub_status_module 启用状态统计
--with-http_gzip_static_module 启用gzip静态压缩
--with-http_flv_module 启用flv模块,提供寻求内存使用基于时间的偏移量文件
--with-http_ssl_module 启用ssl模块
执行完之后我们就安装好nginx了
/usr/local/nginx/sbin/nginx
这样就可以开启去看效果了
killall -9 nginx
可以关闭服务
正文:nginx负载均衡配置
准备了两个网站,分别在两个不同的服务器上,我们用于测试所以把内容改成不一样的
如果在实际中,大多数的页面都是一样的,这样访问用户感觉不出什么,但是nginx分配到了不同主机上,实现负载均衡
我们到第三台,nginx服务器上进行配置
vim /usr/local/nginx/conf/nginx.conf
在文件内http{}中任意位置写入
写入内容为
upstream tomcat_server {server 192.168.10.1:8080 weight=1;server 192.168.10.2:8080 weight=1;}
# tomcat_server 是名称可以随便写,等会和下面要写的对应上就可以
# server --- 后边是服务器ip地址和端口号
# weight --- 是优先级 如果后面的数越高那么分给他的浏览就越多
位置随便写,只要写在http的那层就行,不要进到别的里面了
然后在server{}中添加
server{}里面找到location / {root html;index index.html index.html }然后在location里面添加 proxy_pass http://tomcat_server;
http://; 中的就是上面名称,只要两个对应起来就行改为 location / {root html;index index.html index.html proxy_pass http://tomcat_server;}
如果开启着服务那就重启一下服务
killall -9 nginx
/usr/local/nginx/sbin/nginx
这时候我们直接访问第三台nginx服务器
刷新一下
再刷新一下
分别把流量分配到了不同服务器上,在实际中我们两台服务器上的内容是一样的可以把用户的流量均匀分到两台服务器上 ,从而达到负载均衡