跳转到主要内容

用于管理Tomcat服务器的命令行工具和Python库。

项目描述

latest version supported python versions license main branch build status develop branch build status code coverage Ruff code style black main branch documentation status develop branch documentation status

如果您使用Apache Tomcat进行任何类型的开发工作,您可能已经向其部署了大量的应用程序。有几种方法可以将您的war文件部署

这里还有另一种方法:一个用于管理Tomcat服务器的命令行工具和Python库。

如何使用它?

此软件包安装了一个名为tomcat-manager的命令行工具。它可以通过您喜欢的shell轻松脚本化

$ tomcat-manager --user=ace --password=newenglandclamchowder \
http://localhost:8080/manager deploy local sample.war /sampleapp
$ echo $?
0

还有一个交互式模式

$ tomcat-manager
tomcat-manager>connect http://localhost:8080/manager ace
Password:
--connected to http://localhost:8080/manager as ace
tomcat-manager>list
Path                     Status  Sessions Directory
------------------------ ------- -------- ------------------------------------
/                        running        0 ROOT
/sampleapp               stopped        0 sampleapp##9
/sampleapp               running        0 sampleapp##8
/host-manager            running        0 /usr/share/tomcat8-admin/host-manage
/manager                 running        0 /usr/share/tomcat8-admin/manager

为了达到最大的灵活性,您可以直接使用python包。

>>> import tomcatmanager as tm
>>> tomcat = tm.TomcatManager()
>>> r = tomcat.connect(url="http://localhost:8080/manager",
... user="ace", password="newenglandclamchowder")
>>> tomcat.is_connected
True
>>> r = tomcat.stop("/someapp")
>>> r.ok
False
>>> r.status_message
'No context exists named /someapp'

它能做什么?

Tomcatmanager具有以下功能,全部可通过命令行、交互模式和python库方式使用:

  • deploy - 在tomcat服务器上部署包含tomcat应用的war文件

  • redeploy - 删除指定路径上已安装的应用,并在该路径上安装新的war文件

  • undeploy - 从tomcat服务器中删除应用

  • start - 启动已部署但未运行的应用

  • stop - 停止tomcat应用,但保留其在服务器上的部署状态

  • reload - 停止并重新启动tomcat应用

  • sessions - 显示特定tomcat应用的活跃会话

  • expire - 使空闲会话过期

  • list - 显示所有已安装的应用

  • serverinfo - 显示服务器信息,包括tomcat版本、操作系统版本和架构以及jvm版本

  • status - 以xml格式显示服务器状态信息

  • vminfo - 显示关于jvm的诊断信息

  • threaddump - 显示jvm线程转储

  • resources - 显示tomcat中配置的全局jdni资源

  • findleakers - 显示内存泄漏的tomcat应用

  • sslconnectorciphers - 显示每个连接器配置的tls加密算法

  • sslconnectorcerts - 显示每个虚拟主机的tls证书链

  • sslconnectortrustedcerts - 显示每个虚拟主机的受信任证书

  • sslreload - 重新加载tls证书和密钥文件

文档

最新发布版本的完整文档可在http://tomcatmanager.readthedocs.io/en/stable/找到。它包括如何从命令行或使用交互模式使用tomcat-manager的示例材料。还包括API使用方法和API参考。

文档也是从develop分支构建的,并在https://tomcatmanager.readthedocs.io/en/latest/发布。develop分支可能尚未发布到PyPi,但您可以看到下一个版本中即将到来的文档。

安装

您需要Python >= 3.8。使用pip进行安装

$ pip install tomcatmanager

在Windows、macOS和Linux上运行

与Tomcat >= 8.5和<= 10.1兼容

Tomcat配置

此库和相关工具通过Tomcat发行版中包含的Tomcat Manager网络应用完成其工作。您需要在tomcat-users.xml中进行身份验证配置,以便访问manager-script角色

<tomcat-users>
  ...
  <role rolename="manager-script"/>
  <user username="ace" password="newenglandclamchowder" roles="manager-script"/>
  ...
</tomcat-users>

项目详情


下载文件

下载适合您平台的文件。如果您不确定该选择哪个,请了解有关安装包的更多信息。

源代码发行版

tomcatmanager-7.0.1.tar.gz (134.6 kB 查看哈希值)

上传于

构建版本

tomcatmanager-7.0.1-py3-none-any.whl (52.7 kB 查看哈希值)

上传于 Python 3

支持者