web server apache tomcat11-02-setup 启动

前言

整理这个官方翻译的系列,原因是网上大部分的 tomcat 版本比较旧,此版本为 v11 最新的版本。

开源项目

从零手写实现 tomcat minicat 别称【嗅虎】心有猛虎,轻嗅蔷薇。

系列文章

web server apache tomcat11-01-官方文档入门介绍

web server apache tomcat11-02-setup 启动

web server apache tomcat11-03-deploy 如何部署

web server apache tomcat11-04-manager 如何管理?

web server apache tomcat11-06-Host Manager App -- Text Interface

web server apache tomcat11-07-Realm Configuration

web server apache tomcat11-08-JNDI Resources

web server apache tomcat11-09-JNDI Datasource

web server apache tomcat11-10-Class Loader

...

简介

在不同的平台上设置 Tomcat 运行有几种方法。

主要的文档是一个名为 RUNNING.txt 的文件。如果以下信息没有回答您的一些问题,我们鼓励您参考该文件。

Windows

在 Windows 上安装 Tomcat 可以使用 Windows 安装程序轻松完成。它的界面和功能类似于其他基于向导的安装程序,只有少量感兴趣的项目。

  • 作为服务安装:无论选择了什么设置,Tomcat 都将安装为 Windows 服务。在组件页面上使用复选框将服务设置为“自动”启动,这样当 Windows 启动时,Tomcat 就会自动启动。为了最佳安全性,服务应以单独的用户身份运行,并降低权限(请参阅 Windows Services 管理工具及其文档)。
  • Java 位置:安装程序将提供一个默认的 JRE 用于运行服务。安装程序使用注册表确定 Java 17 或更高版本 JRE 的基本路径,包括作为完整 JDK 的一部分安装的 JRE。如果找不到 JRE,则安装程序首先会查找 JRE,仅在找不到 JRE 时才会查找 JDK。最后,如果未找到 JRE 或 JDK,安装程序将尝试使用 JAVA_HOME 环境变量。不强制使用安装程序检测到的默认 JRE,任何安装的 Java 17 或更高版本 JRE 都可以使用。
  • 系统托盘图标:当 Tomcat 作为服务运行时,运行时将不会有任何系统托盘图标。请注意,选择在安装结束时运行 Tomcat 时,即使 Tomcat 安装为服务,也将使用系统托盘图标。
  • 默认值:安装程序使用 /C=<config file> 命令行参数可以覆盖默认值。配置文件使用 name=value 格式,每对都在单独的行上。

可用配置选项的名称为:

   JavaHome
   TomcatPortShutdown
   TomcatPortHttp
   TomcatMenuEntriesEnable
   TomcatShortcutAllUsers
   TomcatServiceDefaultName
   TomcatServiceName
   TomcatServiceFileName
   TomcatServiceManagerFileName
   TomcatAdminEnable
   TomcatAdminUsername
   TomcatAdminPassword
   TomcatAdminRoles

使用 /C=... 以及 /S 和 /D= 可以执行完全配置的无人值守 Apache Tomcat 安装。有关如何将 Tomcat 作为 Windows 服务管理的信息,请参阅 Windows Service How-To。

  • 安装程序将创建快捷方式,允许启动和配置 Tomcat。重要的是要注意,只有在 Tomcat 运行时才能使用 Tomcat 管理 Web 应用程序。

Unix 守护程序

Tomcat 可以使用 commons-daemon 项目的 jsvc 工具作为守护程序运行。jsvc 的源代码 tarball 包含在 Tomcat 二进制文件中,并且需要进行编译。构建 jsvc 需要 C ANSI 编译器(如 GCC)、GNU Autoconf 和 JDK。

在运行脚本之前,JAVA_HOME 环境变量应设置为 JDK 的基本路径。或者,在调用 ./configure 脚本时,可以使用 --with-java 参数指定 JDK 的路径,例如 ./configure --with-java=/usr/java。

使用以下命令应该会生成一个编译好的 jsvc 二进制文件,位于 $CATALINA_HOME/bin 文件夹中。这假设使用 GNU TAR,并且 CATALINA_HOME 是一个环境变量,指向 Tomcat 安装的基本路径。

请注意,在 FreeBSD 系统上应使用 GNU make (gmake) 而不是本机 BSD make。

cd $CATALINA_HOME/bin
tar xvfz commons-daemon-native.tar.gz
cd commons-daemon-1.1.x-native-src/unix
./configure
make
cp jsvc ../..
cd ../..

然后,可以使用以下命令将 Tomcat 作为守护程序运行。

CATALINA_BASE=$CATALINA_HOME
cd $CATALINA_HOME
./bin/jsvc \
    -classpath $CATALINA_HOME/bin/bootstrap.jar:$CATALINA_HOME/bin/tomcat-juli.jar \
    -outfile $CATALINA_BASE/logs/catalina.out \
    -errfile $CATALINA_BASE/logs/catalina.err \
    --add-opens=java.base/java.lang=ALL-UNNAMED \
    --add-opens=java.base/java.io=ALL-UNNAMED \
    --add-opens=java.base/java.util=ALL-UNNAMED \
    --add-opens=java.base/java.util.concurrent=ALL-UNNAMED \
    --add-opens=java.rmi/sun.rmi.transport=ALL-UNNAMED \
    -Dcatalina.home=$CATALINA_HOME \
    -Dcatalina.base=$CATALINA_BASE \
    -Djava.util.logging.manager=org.apache.juli.ClassLoaderLogManager \
    -Djava.util.logging.config.file=$CATALINA_BASE/conf/logging.properties \
    org.apache.catalina.startup.Bootstrap

如果 JVM 默认使用服务器 VM 而不是客户端 VM,您可能还需要指定 -jvm server。这已在 OSX 上观察到。

jsvc 还有其他有用的参数,例如 -user,它在守护程序初始化完成后导致切换到另一个用户。例如,这允许将 Tomcat 作为非特权用户运行,同时仍能够使用特权端口。请注意,如果使用此选项并作为 root 启动 Tomcat,则需要禁用 org.apache.catalina.security.SecurityListener 检查,以防止作为 root 运行时 Tomcat 启动。

jsvc --help 将返回完整的 jsvc 使用信息。特别是,-debug 选项用于调试运行 jsvc 时

的问题。

参考资料

https://tomcat.apache.org/tomcat-11.0-doc/setup.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mfbz.cn/a/549664.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

整数运算超越存储单元表示范围:上溢出、下溢出、回绕

示例&#xff1a; /*** brief how about integer-underflow-overflow? show you here.* author wenxuanpei* email 15873152445163.com(query for any question here)*/ #define _CRT_SECURE_NO_WARNINGS//support c-library in Microsoft-Visual-Studio #include <std…

408数据结构,怎么练习算法大题?

其实考研的数据结构算法题是有得分技巧的 得分要点 会写结构定义&#xff08;没有就自己写上&#xff09;写清楚解题的算法思想描述清楚算法实现最后写出时间和空间复杂度 以上这四步是完成一道算法题的基本步骤&#xff0c;也是其中得分的主要地方就是后面两步。但是前面两…

java-spring 图灵 04

在Spring框架中&#xff0c;可以使用org.springframework.core.io.support.ResourcePatternResolver接口的resolveBasePackage方法来将指定的基础包解析为用于包搜索路径的模式规范。 例如&#xff0c;如果基础包是com.example.app&#xff0c;则可以使用resolveBasePackage方法…

【深度学习】【机器学习】用神经网络进行入侵检测,NSL-KDD数据集,基于机器学习(深度学习)判断网络入侵,网络攻击,流量异常【3】

之前用NSL-KDD数据集做入侵检测的项目是&#xff1a; 【1】https://qq742971636.blog.csdn.net/article/details/137082925 【2】https://qq742971636.blog.csdn.net/article/details/137170933 有人问我是不是可以改代码&#xff0c;我说可以。 训练 我将NSL_KDD_Final_1.i…

Open3D 无效点滤波(32)

Open3D 无效点滤波(32) 一、算法介绍二、算法实现1.代码2.效果一、算法介绍 这个算法的目标是从点云数据中去除无效的点,这些无效点可能是由于坐标值为无穷大(inf)或者不是数字(NaN)而产生的。这些无效点可能会导致后续处理步骤出现错误或异常,因此在处理点云数据时需…

品深茶创始人是谁?

据说&#xff0c;品深茶的创始人之前是一个程序员&#xff0c;他在软件行业工作十多年&#xff0c;由于常年熬夜加班再加上抽烟喝酒等不良习惯&#xff0c;导致在一次体检中被查出患上了肾癌&#xff0c;对他来说&#xff0c;期待的财务自由还没实现&#xff0c;身体就已经完蛋…

java(网络编程)

什么是网络编程? 在网络通信协议下&#xff0c;不同计算机上运行的程序&#xff0c;进行的数据传输。 应用场景&#xff1a;即时通信、网游对战、金融证券、国际贸易、邮件、等等 不管是什么场景&#xff0c;都是计算机跟计算机之间通过网络进行数据传输 Java中可以使用ja…

CSS基础:width,height尺寸属性详解

你好&#xff0c;我是云桃桃。 一个希望帮助更多朋友快速入门 WEB 前端的程序媛。云桃桃&#xff0c;大专生&#xff0c;一枚程序媛&#xff0c;感谢关注。回复 “前端基础题”&#xff0c;可免费获得前端基础 100 题汇总&#xff0c;回复 “前端工具”&#xff0c;可获取 Web…

vue脚手架CLI的简单使用

目录 初始化脚手架说明具体步骤模板项目的结构main.js入口文件app.vuemain.jsrender main.js 修改默认配置 初始化脚手架 说明 Vue 脚手架是 Vue 官方提供的标准化开发工具&#xff08;开发平台&#xff09;。最新的版本是 4.x。文档: https://cli.vuejs.org/zh/。 具体步骤 …

QFS [VLDB‘13] 论文阅读笔记

原论文&#xff1a;The Quantcast File System (VLDB’13) QFS简介及技术要点 QFS&#xff08;Quantcast File System&#xff09;是由Quantcast开发的一个高效、可扩展的分布式文件系统&#xff0c;旨在提供与Hadoop分布式文件系统&#xff08;HDFS&#xff09;兼容的替代方案…

allure2教程-1-环境搭建

领取资料&#xff0c;咨询答疑&#xff0c;请➕wei: June__Go 自动化测试执行完成后我们需要展示给其他人看&#xff0c;这就要有自动化测试报告了。复杂的测试报告当然可以自己代码实现&#xff0c;但用pytest-html或allure基本也能满足我们生成测试报告的要求了。本小节介绍…

如何基于香橙派AIpro将开源框架模型转换为昇腾模型

在前面的介绍中&#xff0c;我们知道了如何基于香橙派AIpro开发AI推理应用&#xff0c;也大致了解到在推理之前&#xff0c;需要把原始网络模型 (可能是 PyTorch 的、TensorFlow&#xff0c;可能是Caffe的等等) 转换成 .om 模型&#xff0c;然后才能调用昇腾的aclmdlExecute 等…

深度学习 Lecture 8 决策树

一、决策树模型&#xff08;Decision Tree Model) 椭圆形代表决策节点&#xff08;decison nodes)&#xff0c;矩形节点代表叶节点&#xff08;leaf nodes)&#xff0c;方向上的值代表属性的值&#xff0c; 构建决策树的学习过程&#xff1a; 第一步&#xff1a;决定在根节点…

Blender3.3 下载地址及安装教程

Blender是一款开源的3D计算机图形软件&#xff0c;广泛应用于动画制作、游戏开发、建模、渲染等领域。它提供了一套强大的工具和功能&#xff0c;让用户能够进行三维建模、动画制作和视觉效果的创作。 Blender支持多种文件格式的导入和导出&#xff0c;使用户能够与其他软件进…

微博聚类文本分析和可视化

本文使用python抓取微博数据并对微博文本分析和可视化&#xff0c;LDA&#xff08;树图&#xff09;、关系图、词云、时间趋势&#xff08;折线图&#xff09;、热度地图、词典情感分析&#xff08;饼图和3D柱状图&#xff09;、词向量神经网络情感分析、tfidf聚类、词向量聚类…

家居网购项目(手写分页)

文章目录 1.后台管理—分页显示1.程序框架图2.编写数据模型Page.java 3.编写dao层1.修改FurnDao增加方法 2.修改FurnDaoImpl增加方法 3.单元测试FurnDaoTest 4.编写service层1.修改FurnService增加方法 2.修改FurnServiceImpl增加方法3.单元测试FurnServiceTest 5.编写DataUtil…

新版AndroidStudio使用switch-case语句时出现Constant expression required错误

原因: 在新版的Android Studio中使用JDK17以上版本&#xff0c;会出现switch语句报错"Constant expression required"的问题&#xff0c;这是因为在JDK17中switch语句的条件表达式支持使用枚举类型&#xff0c;而这个特性还没有被支持。 解决方法: ①在gradle.prope…

pytorch 今日小知识3——nn.MaxPool3d 、nn.AdaptiveAvgPool3d、nn.ModuleList

MaxPool3d — PyTorch 2.2 documentation 假设输入维度&#xff08;1,2,3,4,4&#xff09; maxpool torch.nn.MaxPool3d(kernel_size(2, 2, 2), stride(2, 2, 2), padding(1, 0, 0))F 维的 kernel_size 为 2&#xff0c;说明在 F 维的覆盖的 frame 数为 2&#xff0c;也就是…

ElasticSearch查询时修改打分

原生的ES打分基于BM25算法&#xff0c;相比于TF-IDF已经有了较大的改进&#xff0c;但是在实际场景中往往最终的排序效果还是需要进行调整。由于直接修改索引的权重往往代价较大&#xff0c;比较经济的方式还是在查询时即时修改得分以实现排序控制。 注&#xff1a;案例测试数据…

Winform重难点笔记

FrmMain.cs 中的 partial&#xff08;部分的&#xff09; 和 FrmMain.Designer.cs 中的 partial 一样&#xff0c;不是一个类的修饰符&#xff0c;是限定这个类本身的组成部分&#xff0c;叫做部分类。当程序在编译和运行时&#xff0c;会把 FrmMain.cs 中的 FrmMain 类 和 Frm…
最新文章