2.2. 停止 Apache Karaf
您可以从控制台内或使用 stop
脚本停止 Apache Karaf 实例。
2.2.1. 从本地控制台停止实例
如果您通过运行 fuse
或 fuse 客户端
启动 Karaf 实例,您可以在 karaf
> 提示符下执行以下操作之一来停止它:
-
类型
关闭
- 按 Ctrl+D
2.2.2. 停止在服务器模式下运行的实例
您可以通过调用 InstallDir/bin
目录中的 stop (.bat)
来停止本地运行 Karaf 实例(root 容器),如下所示:
Windows
bin\stop.bat
Linux/UNIX
./bin/stop
Karaf stop
脚本调用的关闭机制与 Apache Tomcat 中实施的关闭机制类似。Karaf 服务器打开专用关闭端口(与 SSH 端口相同),以接收关闭通知。默认情况下,会随机选择关闭端口,但如果您愿意,您可以将它配置为使用特定端口。
您可以通过在 InstallDir/etc/config.properties
文件中设置以下属性来自定义关闭端口:
karaf.shutdown.port
指定用作关闭端口的 TCP 端口。将此属性设置为
-1
可禁用端口。默认为0 (
用于随机端口)。注意如果要使用
bin/stop
脚本关闭远程主机上运行的 Karaf 服务器,则需要将此属性设置为与远程主机的关闭端口相等。但请注意,此设置也会影响位于与etc/config.properties
文件相同的主机上的 Karaf 服务器。karaf.shutdown.host
指定关闭端口绑定到的主机名。此设置对于多主目录主机非常有用。默认为
localhost
。注意如果要使用
bin/stop
脚本关闭远程主机上运行的 Karaf 服务器,则需要将此属性设置为远程主机的主机名(或 IP 地址)。但请注意,此设置也会影响位于与etc/config.properties
文件相同的主机上的 Karaf 服务器。karaf.shutdown.port.file
-
在 Karaf 实例启动后,它会将当前关闭端口写入此属性指定的文件中。
stop
脚本读取此属性指定的文件,以发现当前关闭端口的值。默认为${karaf.data}/port
。 karaf.shutdown.command
指定必须发送到关闭端口的 UUID 值,才能触发关闭。这提供了元素级别的安全性,只要 UUID 值保留了一个 secret。例如,
etc/config.properties
文件可以被读取保护,以防止常规用户读取这个值。当 Apache Karaf 首次启动时,会自动生成随机 UUID 值,并将此设置写入
etc/config.properties
文件的末尾。或者,如果已经设置了karaf.shutdown.command
,则 Karaf 服务器将使用预先存在的 UUID 值(如果需要,您可以自定义 UUID 设置)。注意如果要使用
bin/stop
脚本关闭在远程主机上运行的 Karaf 服务器,则需要将此属性设置为等于远程主机karaf.shutdown.command
的值。但请注意,此设置也会影响位于与etc/config.properties
文件相同的主机上的 Karaf 服务器。
2.2.3. 停止远程实例
您可以停止在远程主机上运行的容器实例,如 第 17.3 节 “停止远程容器” 所述。