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 格式,每对都在单独的行上。

可用配置选项的名称为:

   JavaHomeTomcatPortShutdownTomcatPortHttpTomcatMenuEntriesEnableTomcatShortcutAllUsersTomcatServiceDefaultNameTomcatServiceNameTomcatServiceFileNameTomcatServiceManagerFileNameTomcatAdminEnableTomcatAdminUsernameTomcatAdminPasswordTomcatAdminRoles

使用 /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.mzph.cn/news/821790.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

pdf做批注编辑工具 最新pdf reader pro3.3.1.0激活版

PDF Reader Pro是一款功能强大的PDF阅读和编辑工具。它提供了多种工具和功能&#xff0c;帮助用户对PDF文档进行浏览、注释、编辑、转换和签名等操作。以下是PDF Reader Pro的一些主要特色&#xff1a; 最新pdf reader pro3.3.1.0激活版下载 多种查看模式&#xff1a;PDF Reade…

STM32 PB3 PB4 无法作为 GPIO 使用解决办法

如下所示&#xff0c;PA13 PA14 PB3 PB4 PB5, 默认是JTAG SWD的 PIN, 需要引脚ReMap 才能作为GPIO 使用。 HAL库解决办法 // __HAL_AFIO_REMAP_SWJ_ENABLE(); //Full SWJ (JTAG-DP SW-DP):// __HAL_AFIO_REMAP_SWJ_NONJTRST(); //Full SWJ (JTAG-DP SW-DP) but without NJTR…

【代理模式】静态代理-简单例子

在Java中&#xff0c;静态代理是一种设计模式&#xff0c;它涉及到为一个对象提供一个代理以控制对这个对象的访问。静态代理在编译时就已经确定&#xff0c;代理类和被代理类会实现相同的接口或者是代理类继承被代理类。客户端通过代理类来访问&#xff08;调用&#xff09;被…

认识异常(1)

❤️❤️前言~&#x1f973;&#x1f389;&#x1f389;&#x1f389; hellohello~&#xff0c;大家好&#x1f495;&#x1f495;&#xff0c;这里是E绵绵呀✋✋ &#xff0c;如果觉得这篇文章还不错的话还请点赞❤️❤️收藏&#x1f49e; &#x1f49e; 关注&#x1f4a5;&a…

计算机网络:MAC地址 IP地址 ARP协议

计算机网络&#xff1a;MAC地址 & IP地址 & ARP协议 MAC地址IP地址ARP协议 MAC地址 如果两台主机通过一条链路通信&#xff0c;它们不需要使用地址就可以通信&#xff0c;因为连接在信道上的主机只有他们两个。换句话说&#xff0c;使用点对点信道的数据链路层不需要使…

开源 Ruo-Yi 项目引入 Mybatis-Plus:3.5.3 报错ClassNotFoundException:

开源 Ruo-Yi 项目引入 Mybatis-Plus:3.5.3 报错ClassNotFoundException&#xff1a; Caused by: java.lang.ClassNotFoundException: com.baomidou.mybatisplus.extension.plugins.MybatisPlusInter1 分析问题 控制台报错说明我们引入的 mybatis-plus 的依赖里找不到com.baom…

【verilog 设计】 reg有没有必要全部赋初值?

一、前言 在知乎发现“reg有没有必要全部赋初值”这个问题&#xff0c;与自己近期对Verilog reg的进一步学习相契合&#xff0c;此文对这个问题进行总结。 二、reg的初值赋值方式 就语法意义赋初值而言&#xff0c;就是在声明reg时对其赋值。在工程中&#xff0c;对于数字系…

【Windows】GPU、CUDA、cuDNN、Pytorch、Python知识总结

文章目录 显卡GPUCUDACUDA ToolkitCUDA SamplesCUDA DriverCUDA Toolkit和CUDA Driver版本的对应CUDA Driver和CUDA Runtime的区别nvcc和nvidia-smi的区别cuDNN查看GPU信息nvidia-smi(Driver版)NVIDIA控制面板nvcc -V或nvcc --version(runtime版)报错:nvcc 不是内部或外部…

数字化转型-工具变量数据集

01、数据介绍 数字化转型是指企业或个人利用数字技术&#xff0c;如大数据、云计算、人工智能等&#xff0c;对其业务流程、运营模式、决策方式等进行全面、深入的变革&#xff0c;以提高效率、降低成本、提升质量、增强竞争力。在这个过程中&#xff0c;工具变量扮演着至关重…

手写SpringBoot项目所使用的xxl-job分布式任务调度平台的starter

手写SpringBoot项目所使用的xxl-job分布式任务调度平台的starter 要将上述代码抽离成一个独立的 Spring Boot Starter&#xff0c;您需要创建一个新的 Maven 项目&#xff0c;并按照以下步骤进行操作&#xff1a; 创建 Maven 项目&#xff1a; 使用 IDE 或命令行创建一个新的 …

JVM虚拟机(九)如何开启 GC 日志

目录 一、引言二、开启 GC 日志三、解析 GC 日志四、优化建议 一、引言 在 Java 应用程序的运行过程中&#xff0c;垃圾收集&#xff08;Garbage Collection&#xff0c;简称 GC&#xff09;是一个非常重要的环节。GC 负责自动管理内存&#xff0c;回收不再使用的对象所占用的…

zabbix 自动发现与自动注册 部署 zabbix 代理服务器

zabbix 自动发现&#xff08;对于 agent2 是被动模式&#xff09; zabbix server 主动的去发现所有的客户端&#xff0c;然后将客户端的信息登记在服务端上。 缺点是如果定义的网段中的主机数量多&#xff0c;zabbix server 登记耗时较久&#xff0c;且压力会较大。1.确保客户端…

一次配置Docker环境的完整记录

一次配置Docker环境的完整记录 Docker环境搭建报错与解决报错一报错二报错三 Docker环境搭建 本节介绍了一次配置docker环境的完整记录&#xff1a; 编写Dockerfile文件&#xff1a; FROM pytorch/pytorch:1.10.0-cuda11.3-cudnn8-develRUN rm /etc/apt/sources.list.d/cuda.l…

mfc 带有复选框的ListBox

mfc 带有复选框的 ListBox 效果&#xff1a; 添加 ListBox 控件 从工具箱拖拽 ListBox 控件到窗口上&#xff0c;并设置属性&#xff1a; 包含字符串&#xff1a;true所有者描述&#xff1a;Fixed 给ListBox添加控制变量 添加完后&#xff0c;将m_list_box的类型使用CC…

Qt+vstudio2022的报错信息积累

从今天开始记录一下平常开发工作中的报错记录&#xff0c;后续有错误动态补充&#xff01; 报错信息&#xff1a;【MSB8041】此项目需要 MFC 库。从 Visual Studio 安装程序(单个组件选项卡)为正在使用的任何工具集和体系结构安装它们。 解决&#xff1a; 背景&#xff1a;换…

uniapp--登录和注册页面-- login

目录 1.效果展示 2.源代码展示 测试登录 login.js 测试请求 request.js 测试首页index.js 1.效果展示 2.源代码展示 <template><view><f-navbar title"登录" navbarType"4"></f-navbar><view class"tips"><…

通俗易懂降维理解------SIFT【大白话版】!!!

SIFT&#xff08;尺度不变特征变换&#xff09;是一种在计算机视觉中用来发现图像中特定点&#xff08;特征点&#xff09;并能够精确描述这些点的方法&#xff0c;这样即使在图像的大小、角度或光线变化后&#xff0c;这些点仍然可以被识别和匹配。简单来说&#xff0c;SIFT帮…

图数据库Neo4J入门——Neo4J下载安装+Cypher基本操作+《西游记》人物关系图实例

这里写目录标题 一、效果图二、环境准备三、数据库设计3.1 人物节点设计3.2 关系设计 四、操作步骤4.1 下载、安装、启动Neo4J服务4.1.1 配置Neo4J环境变量4.1.2 启动Neo4J服务器4.1.3 启动Ne04J客户端 4.2 创建节点4.3 创建关系&#xff08;从已有节点创建关系&#xff09;4.4…

PhpStorm2024安装包(亲测可用)

目录 一、软件简介 二、软件下载 一、软件简介 PhpStorm是由JetBrains公司开发的一款商业的PHP集成开发环境&#xff08;IDE&#xff09;&#xff0c;深受全球开发人员的喜爱。它旨在提高开发效率&#xff0c;通过深刻理解用户的编码习惯&#xff0c;提供智能代码补全、快速导…

前端解析URL的两种方式

方法一&#xff1a;利用 splice 分割 循环依次取出 方法一&#xff1a; function queryURLparams(url) {let obj {}if (url.indexOf(?) < 0) return objlet arr url.split(?)url arr[1]let array url.split(&)for (let i 0; i < array.length; i) {let arr2…