我在整个环境中运行 Ubuntu 10.04。为了使代码部署更容易,我们正在实施一个私有 apt 存储库,我们可以在其中部署代码的构建。
此存储库的要求之一是我们的 QA 部门将能够随时安装我们应用程序的任何版本。
我可以在 apt-repository 中存储同一个包的多个版本(最好在同一个发行版中)吗?如果没有,我可以使用哪些可能的解决方法来获得上述行为?
我刚刚完成了从 Windows Server 2008 R2 到 Ubuntu 10.04 的迁移。我管理一个有一些性能问题的 Java 应用程序(Java 6、Tomcat)。我想使用 JMX 来尝试排除故障,但我似乎无法连接 jvisualvm。
如果我执行 ps -ef | grep "java",我看到以下参数。
-Dcom.sun.management.jmxremote.port=8084
-Dcom.sun.management.jmxremote.ssl=false
-Dcom.sun.management.jmxremote.authenticate=false
Run Code Online (Sandbox Code Playgroud)
Netstat 显示端口 8084 正在侦听 0.0.0.0。在我的配置中,JMX 设置为绑定到服务器的 FQDN(我们使用私有 DNS 服务器)。我的防火墙 (IPTABLES/UFW) 设置为允许所有传出流量,并允许端口 8084 上的传入流量。
服务器本身是虚拟的,有两个 NIC,一个公共的和一个私有的。公共 NIC 的网关被禁用,因此连接只能在专用端进入。
当我尝试使用 JMX 将 jvisualvm 连接到我的应用服务器时,我在 jvisualvm 中收到以下错误。
Cannot connect to [FQDN OMITTED]:8084 using server:jmx:rmi:///jndi/rmi://[FQDN OMITTED]:8084/jmxrmi
Run Code Online (Sandbox Code Playgroud)
如果我查看 jvisualvm 日志,我会看到以下跟踪。
NFO [com.sun.tools.visualvm.jmx.impl.JmxModelImpl]: connect(service:jmx:rmi:///jndi/rmi://[FQDN OMITTED]:8084/jmxrmi)
java.io.EOFException: SSL peer shut down incorrectly
at com.sun.net.ssl.internal.ssl.InputRecord.read(InputRecord.java:333)
at com.sun.net.ssl.internal.ssl.SSLSocketImpl.readRecord(SSLSocketImpl.java:789)
Caused: javax.net.ssl.SSLHandshakeException: Remote host closed connection during …
Run Code Online (Sandbox Code Playgroud)