为了使用 Apache 将流量传递到端口 80 上的 JBoss/TomCat,我们曾经安装和配置mod_jk
.
是否有 nginx 的等价物?基本上希望所有端口 80 流量都传递给 jboss。
我是 Glassfish 的新手。
JBoss 和 Glassfish 之间有什么区别?为什么你会选择一个而不是另一个。
我正在尝试阅读 Glassfish,但在开始安装并尝试在其上部署一些应用程序之前,很难确定我可能需要的东西。
更新
如果提供有关 JBoss 和 Glassfish 比较的任何其他信息
(例如它们支持的技术、性能等),那就太好了。
JBoss 中 PermGen OutOfMemoryError 的根本原因是什么?
我在我的开发环境中运行 JBoss AS 4.2.2,这是在多次重新部署我的 Web 应用程序后发生的。
Christian Vest Hansen 的博客给出的 JVM 选项很有帮助,但并没有完全解决问题:
-XX:+UseConcMarkSweepGC
-XX:+CMSPermGenSweepingEnabled
-XX:+CMSClassUnloadingEnabled
-XX:MaxPermSize=128m
Run Code Online (Sandbox Code Playgroud) 我已经设置了 Logrotate 来每晚轮换我的 JBoss Application Server 4.2.2.GA 日志。在轮换日志文件并且 JBoss 再次开始写入它们之后,新日志文件以与前一个日志文件中的字符一样多的 NUL 字符开头,然后是新的日志消息。例如,如果 JBoss server.log 文件的长度为 5000 字节,那么在轮换后,新的 server.log 文件将以 5000 个 NUL 字符开头。几天后,server.log 以 NUL 字符开始,相当于前几天所有日志文件中字符的总和。似乎 JBoss 正在记住它在日志文件中的位置,并在截断的文件中从它停止的地方开始。这是我的 JBoss 的 logrotate 配置:
/apps/jboss-4.2.2.GA/server/default/log/*log {
daily
rotate 30
compress
notifempty
copytruncate
missingok
nocreate
}
Run Code Online (Sandbox Code Playgroud)
我无法每晚重新启动 JBoss,因为那会导致停机时间过长。我也不能使用 log4j DailyRollingFileAppender,因为它不会删除旧的日志文件。有没有人让 logrotate 与 JBoss 一起正常工作?
我想为我在单个 Jetty 实例中托管的不同域使用不同的 SSL 证书。
我不想在我的 Jetty 应用服务器前面使用 Apache。
我正在运行 Jetty 6.1.22。到目前为止,我只看到了具有单个 SSL 证书的配置,并且 SSL 的配置发生在服务器中,这让我相信 Jetty 旨在支持单个 SSL 证书。
请让我知道我是否可以使用具有 1 个以上证书的 Jetty。
我正在考虑迁移到 JBoss Application Server 6.0,因为它更接近于真正的应用服务器。这是可以在那里完成的事情吗,它是受支持的功能吗?
经过一番搜索,我发现了这个:https : //stackoverflow.com/questions/208149/configure-multiple-keystores-in-jboss-depending-on-requested-hostname
是这样吗?如果是这样,那么我怀疑 Jetty 或任何其他应用程序服务器是否会支持它。我需要有 2 个不同的连接器 - 不同的端口或 IP 地址。然后,在这种情况下,我需要使用 Apache 代理 Jetty/JBoss。
沃尔特
我有一个有效的 Kerberos SSO 设置,我将 apache 和 jboss 与 mod_jk 一起使用。Apache 正在使用以下配置保护(通过 kerberos) auto-login.htm 页面:
<Location /auto-login.htm>
AuthType Kerberos
AuthName "Kerberos Active Directory Login"
KrbMethodNegotiate on
KrbMethodK5Passwd on
KrbAuthRealms KRB.SOMEDOMAIN.COM
KrbServiceName HTTP/server.somedomain.com@KRB.SOMEDOMAIN.COM
Krb5Keytab /etc/krb/krb5.keytab
KrbVerifyKDC on
KrbAuthoritative on
require valid-user
#ErrorDocument 401 /login.htm
</Location>
Run Code Online (Sandbox Code Playgroud)
这 100% 有效,我能够使用 Kerberos/SSO 登录并读取我的 java 应用程序中的 remote_user 变量。
现在的问题是,如果用户无法通过 Kerberos/SSO 登录,我想重定向到不受保护的 login.htm。我想到的解决方案是设置 401 ErrorDocument,但是当我通过在上面的代码中取消注释 #ErrorDocument 401 来设置它时,它总是重定向到 login.htm,因为返回 401 以请求用户凭据本质上是 Kerberos 的一部分/SSO 身份验证过程。因此,结果是用户总是以 login.htm 结束并且永远不会完成 Kerberos/SSO 登录过程。
任何帮助或替代解决方案将不胜感激。
提前致谢
皮埃尔
在我的standalone.xml
,我有这样的syslog-handler
配置:
<syslog-handler name="SYSLOG" enabled="true">
<level name="INFO"/>
<hostname value="i-XXXXXXX"/>
<formatter><syslog-format syslog-type="RFC3164"/></formatter>
</syslog-handler>
...
<root-logger>
<level name="INFO"/>
<handlers>
<handler name="SYSLOG"/>
<handler name="CONSOLE"/>
<handler name="FILE"/>
</handlers>
</root-logger>
Run Code Online (Sandbox Code Playgroud)
然而,没有输出传送到/var/log/syslog
. 如果我用 启动 jboss standalone.sh | logger
,我会在那里看到输出,所以我认为我的 rsyslogd 设置/工作合理(一个股票的 Ubuntu 安装,FWIW)。
我管理着几个基于 Linux 的服务器,我们正在考虑将几个 JBoss 应用程序以及几个在 Apache 上运行的网站从具有 4 个内核的 RHEL 5.5(64 位)服务器迁移到具有24核。我的主管提到了使用 cgroups 来管理新服务器上的内存/CPU 分配的可能性。我自己做了一些阅读/研究,并且对 cgroups 的目的和它们可以做什么有很好的理解。
我的问题是,运行 cgroups 有什么好处,这是管理 JBoss 应用程序的有效方法吗?
我正在开发用于管理 JBoss 应用服务器的自定义 puppet 模块。我认为应用服务器上部署的每个应用程序都是一个自包含的资源。但是一些应用程序需要在 JBoss 的配置文件中进行专门的配置更改。
每个应用程序也是一个傀儡资源,但大多数应用程序彼此不认识。
目前我使用 augeas 对 JBoss 的配置文件进行更改。即使许多资源需要更改该配置文件,它也能工作,但它非常复杂、容易出错且速度缓慢。
实际上,我想对配置文件使用模板,但问题是如何在触发模板机制之前聚合来自不同(子)模块的所有必需工件,而不必知道 man 配置工件有多少?
例子:
define jboss_config($config) {
# do something with the config
}
jboss_config {
config => 'some configuration for app 1'
}
jboss_config {
config => 'some configuration for app 2'
}
jboss_config {
config => 'some configuration for app 3'
}
jboss_config {
config => 'some configuration for app 4'
}
jboss_config {
config => 'some configuration for app 5'
}
#now, as all …
Run Code Online (Sandbox Code Playgroud) 我刚刚完成 JIRA 和 Confluence 的安装并在 Ubuntu Server 上运行 Tomcat,这时我注意到网上有关于 JBoss 上的 JIRA/Confluence 的安装说明。
我不熟悉 JEE 应用程序服务器,大部分时间都花在更简单的 servlet 容器上。
然而,假设 JIRA 不使用 EJB,为什么要将其部署到 JBoss 呢?在这种情况下,JBoss 提供了哪些 Tomcat 没有提供的功能?