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

web应用服务器——Tomcat

Tomcat的功能介绍

Tomcat 服务器是一个免费的开放源代码的Web 应用服务器,属于轻量级应用服务器,在中小型系统和 并发访问用户不是很多的场合下被普遍使用,Tomcat 具有处理HTML页面的功能,它还是一个Servlet和 JSP容器起始于SUN 公司的一个Servlet的参考实现项目 Java Web Server,开发者是James Duncan Davidson, 在1999年,将项目贡献给了apache软件基金会(ASF),和ASF现有的项目 JServ 合并,并开源成为顶级 项目 Tomcat 仅仅实现了Java EE规范中与Servlet、JSP相关的类库,是JavaEE不完整实现。1999年发布初始版本是Tomcat 3.0,实现了Servlet 2.2 和 JSP 1.1规范。 Tomcat 4.x发布时,内建了Catalina(Servlet容器)和 Jasper(JSP engine)等 ,当前 Tomcat 的正式版本已经更新到 10.0.x 版本,但当前企业中主流版本为 8.x 和 7.x。

官网:
http://tomcat.apache.org/
官网文档:
https://tomcat.apache.org/tomcat-8.5-doc/index.html
帮助文档:
https://cwiki.apache.org/confluence/display/tomcat/
https://cwiki.apache.org/confluence/display/tomcat/FAQ

安装

[root@node2 ~]# wget https://dlcdn.apache.org/tomcat/tomcat-9/v9.0.93/bin/apache-tomcat-9.0.93.tar.gz

安装java环境

[root@node1 ~]# yum install  java-1.8.0-openjdk.x86_64 -y

安装并启动tomcat

[root@node1 ~]# tar zxf apache-tomcat-9.0.93.tar.gz -C /usr/local/[root@node1 local]# ln -s apache-tomcat-9.0.93/ tomcat
[root@node1 local]# ls
apache-tomcat-9.0.93  etc    include  lib64    sbin   src
bin                   games  lib      libexec  share  tomcat
[root@node1 local]# cd tomcat/
[root@node1 tomcat]# ls
bin           CONTRIBUTING.md  logs       RELEASE-NOTES  webapps
BUILDING.txt  lib              NOTICE     RUNNING.txt    work
conf          LICENSE          README.md  temp[root@node1 tomcat]# cd bin/
[root@node1 bin]# ls
bootstrap.jar                 configtest.sh     shutdown.sh
catalina.bat                  daemon.sh         startup.bat
catalina.sh                   digest.bat        startup.sh
catalina-tasks.xml            digest.sh         tomcat-juli.jar
ciphers.bat                   makebase.bat      tomcat-native.tar.gz
ciphers.sh                    makebase.sh       tool-wrapper.bat
commons-daemon.jar            setclasspath.bat  tool-wrapper.sh
commons-daemon-native.tar.gz  setclasspath.sh   version.bat
configtest.bat                shutdown.bat      version.sh
[root@node1 bin]# pwd
/usr/local/tomcat/bin
[root@node1 bin]# ./startup.sh   # 启动脚本
Using CATALINA_BASE:   /usr/local/tomcat
Using CATALINA_HOME:   /usr/local/tomcat
Using CATALINA_TMPDIR: /usr/local/tomcat/temp
Using JRE_HOME:        /usr
Using CLASSPATH:       /usr/local/tomcat/bin/bootstrap.jar:/usr/local/tomcat/bin/tomcat-juli.jar
Using CATALINA_OPTS:
Tomcat started.

查看端口

[root@node1 bin]# netstat -antlupe | grep java
tcp6       0      0 :::8080                 :::*                    LISTEN      0          31426      2461/java
tcp6       0      0 127.0.0.1:8005          :::*                    LISTEN      0          31435      2461/java

访问

tomcat的文件结构和组成

目录 说明
bin 服务启动、停止等相关程序和文件
conf 配置文件
lib 库目录
logs 日志目录
webapps 应用程序,应用部署目录,相当于nginx的默认发布目录
work jsp 编译后的结果文件,建议提前预热访问

查看tomcat相关目录和文件
[root@node1 ~]# ls /usr/local/tomcat/
bin           CONTRIBUTING.md  logs       RELEASE-NOTES  webapps
BUILDING.txt  lib              NOTICE     RUNNING.txt    work
conf          LICENSE          README.md  temp
启动文件

生成主配置文件

[root@node1 ~]# vim /usr/local/tomcat/conf/tomcat.conf
[root@node1 ~]# useradd -s /sbin/nologin -M tomcat
[root@node1 ~]# chown -R tomcat.tomcat /usr/local/tomcat/

生成启动文件

[root@node1 ~]# vim /lib/systemd/system/tomcat.service
[Unit]
Description=Tomcat
#After=syslog.target network.target remote-fs.target nss-lookup.target
After=syslog.target network.target
[Service]
Type=forking
EnvironmentFile=/usr/local/tomcat/conf/tomcat.conf
ExecStart=/usr/local/tomcat/bin/startup.sh
ExecStop=/usr/local/tomcat/bin/shutdown.sh
PrivateTmp=true
User=tomcat
Group=tomcat
[Install]
WantedBy=multi-user.target
nginx前置实现tomcat的负载均衡

创建jsp文件

 vim /usr/local/nginx/conf.d/vhosts.conf

编辑子配置文件

 vim /usr/local/nginx/conf.d/vhosts.conf

memcache实现tomcat会话保持

下载memcache,并且上传所需文件

[root@node1 ~]# yum install memcached -y
[root@node1 ~]# vim /etc/sysconfig/memcached
PORT="11211"
USER="memcached"
MAXCONN="1024"
CACHESIZE="64"
OPTIONS="-l 0.0.0.0,::1"
[root@node1 ~]# systemctl enable --now memcached
[root@node1 ~]# netstat -antlupe | grep memcache
tcp       0     0 0.0.0.0:11211           0.0.0.0:*               LISTEN     
980       97815     34711/memcached

重启tomcat

systemctl  restart tomcat

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

相关文章:

  • Linux 常用命令大全:覆盖日常 99% 操作需求
  • A4.1:继C5.3引申的基极偏置的应用和发射极偏置的负反馈电阻讨论
  • STM32——GPIO
  • 嵌入式Linux进程管理面试题大全(含详细解析)
  • 嵌入式硬件——ARM
  • 从零开始之stm32之CAN通信
  • 1 JQ6500语音播报模块详解(STM32)
  • 棋牌室|台球|KTV|亲子|游戏|PS5等小程序接入美团核销教程,解决线下门店线上的流量!
  • Langflow 1.5:文档处理套件、Windows支持与用户体验提升
  • 4.7 GB 视频导致浏览器内存溢出(OOM)的解决方案
  • 小程序排名优化:功能迭代如何助力排名攀升
  • Python 爬虫获取淘宝商品信息、价格及主图的实战指南
  • 小程序排名优化:用户行为数据背后的提升密码
  • 从爬虫新手到DrissionPage实践者的技术旅程
  • Apache Shiro
  • Elasticsearch JavaScript 客户端「基础配置」全指南(Node/TS)
  • 7 种最佳 DBAN 替代方案,彻底擦除硬盘数据
  • ChatGpt 5系列文章1——编码与智能体
  • Go语言实战案例:使用模板渲染HTML页面
  • Go之封装Http请求和日志
  • mysql登录失败 ERROR1698
  • Elasticsearch Node.js 客户端连接指南(Connecting)
  • 实现一个二维码让 iOS 和 Android 用户自动跳转到对应下载链接
  • java面试题储备4: 谈谈对es的理解
  • 基于跨平台的svg组件编写一个svg编辑器
  • 【狂热算法篇】探寻图论幽径之SPFA算法:图论迷宫里的闪电寻径者(通俗易懂版)
  • 【门诊进销存出入库管理系统】佳易王医疗器械零售进销存软件:门诊进销存怎么操作?系统实操教程 #医药系统进销存
  • 需求分发机制如何设定
  • 飞算 JavaAI 电商零售场景实践:从订单峰值到供应链协同的全链路技术革新
  • 元器件--自恢复保险丝