我有一个分布在几台服务器之间的几台 Tomcat 服务器的设置,所有服务器都运行相同的东西。Apache 位于 Apache 之上,负载均衡器位于 Apache 服务器之前。我想使用共享会话对 Tomcat 进行集群,以最大限度地减少部署应用程序时的停机时间和用户中断。
我知道集群在同一台服务器内工作,但是否可以通过在不同机器上的服务器之间共享会话的方式来设置 Tomcat?
=> Server 1
==> Apache 1
===> Tomcat 1
=> Server 2
==> Apache 2
===> Tomcat 2
Run Code Online (Sandbox Code Playgroud)
当服务器/Tomcat 1 被关闭时,用户及其会话将转移到服务器/Tomcat 2,反之亦然。
我的网站之一是通过 Amazon EC2 服务托管的。当站点面临沉重的负载时,问题就开始发生,而这又通过 AutoScaling 产生了一个新的 EC2 实例。这很好,但问题是当这些实例被杀死(由于负载不足)时,会话信息也会丢失,从而迫使用户重新登录站点。
解决这个问题的最佳方法是什么?
我查看了Memcached 会话管理器,它适用于粘性会话,但是当我尝试使用非粘性会话时会导致问题,因为我向我的服务器发出了很多并行请求。
我现在的服务器是Apache+Tomcat
任何有用的指针。谢谢。
加载 PHP 页面时,我偶尔会收到以下错误:
PHP Notice: session_start(): ps_files_cleanup_dir: opendir(C:\Windows\TEMP) failed: No error (0) in C:\server\default.php on line 299
Run Code Online (Sandbox Code Playgroud)
一个月前的sess_文件C:\Windows\TEMP仍然存在。
我在 Windows 8.1 上的 IIS 上运行 PHP 5.6.5。
为什么 PHP 无法执行垃圾收集,我该如何解决?
在 Windows 中,我可以使用以下命令获取特定服务器上的远程桌面会话:
qwinsta /server:SERVER_NAME
Run Code Online (Sandbox Code Playgroud)
但这给了我所有不同状态的会话(例如:活动、光盘……)。
是否有人知道命令、批处理文件或脚本来获取“活动”会话?我希望能够从普通的 Windows 7 客户端运行它。
根据我的经验,远程桌面连接(尤其是 RemoteApp 连接)会遇到一些不稳定的问题,尤其是在整天使用 RemoteApp 时表现得尤为明显。
有几个问题会影响稳定性和可用性:
连接意外中断。当应用程序空闲一段时间(大约 30 分钟)并且用户收回控制权时,应用程序没有响应。与服务器的连接中断。几秒钟后,消息连接已丢失。正在尝试将您重新连接到您的会话。出现。重新连接并不总是成功。这些断开的连接与空闲超时设置无关。
日志(事件日志、TerminalServices-LocalSessionManager)显示当用户单击无响应的应用程序时断开连接。一些连接重新连接(大约 80%,其他的注销大约 20%)。
重新连接时偶尔黑屏。有时,当会话断开连接时,用户再次登录时,他会收到黑屏而不是登录屏幕(如此处、此处和其他地方有不同的解决方案)。我的设置:断开连接的会话在 5 分钟后注销。
我有两个安装了 RDP 和 RemoteApp 的 Windows Server 2008 R2。我有连接到它的 Windows XP 和 Windows 7 客户端。用户整天运行 RemoteApp,但他们可能让应用程序闲置一小时左右。
感谢@hyp,我离稳定状态又近了一步。我通过配置本地组策略在服务器端配置了一个keepalive:
Computer Configuration -> Policies -> Admin Templates -> Windows Components -> Remote Desktop Services -> Remote Desktop Session Host -> Connections -> Configure keep-alive connection interval
Run Code Online (Sandbox Code Playgroud)
情况有所好转,但仍不尽如人意。连接仍然会在不经意间中断,但频率较低(我断开连接的次数减少了一半,而且我没有再接到有关此问题的任何帮助台呼叫)。现在,服务器会在连接中断时发出通知,断开会话并注销用户。用户体验现在更好了,因为当网络事件发生时会话立即中断,不像以前会话仅在用户交互时中断。
但是,我想要的是客户端计算机注意到断开连接并自动尝试重新连接。这将避免用户需要再次登录。
RemoteApp 是否存在连接不可靠的普遍问题?有人广泛使用 RDP …
我有一个网站,它使用会话变量(在 PHP 中)来了解访问者是否正在进入网站。如果他是新来的,那么我会将他重定向到检测到的语言。但如果他不是新人,你可以让他去任何他想去的地方(甚至是其他语言的页面)。
问题是用于实现此目的的变量 ($_SESSION["knownvisitor"]) 不是持久的。我在其他服务器上测试了同一个网站,它工作得很好,所以我很确定这是一个会话配置问题。有问题的服务器是带有 Apache 2.2.22 和 PHP 5.3.10 的 Ubuntu Server 12.04.4。
会话存储在“/var/lib/php5”中,我可以在那里看到文件,但它们是空的。会话文件属于“www-data”并具有以下权限“-rw-------”。另一方面,该目录属于“root”并具有“drwx-wx-wt”这些权限。
我尝试在重定向之前使用“session_write_close()”,正如某些论坛中所推荐的那样,但没有成功。重定向类似于“header('Location: [URL]')”。
这是脚本的代码,因此您可以了解其基本行为。这是我放在我的网络中所有文件开头的内容:
function detectedlang($availlangs)
{
// FUNCTION STUFF HERE TO FIND OUT WHICH IS THE LANGUAGE OF THE VISITOR
return $detectedlang;
}
session_start();
if (!isset($_SESSION["knownvisitor"]))
{
$detectedlang = detectedlang(array("en", "es"));
$_SESSION["knownvisitor"] = true;
header("Location: http://www.mysite.com/".$detectedlang);
}
Run Code Online (Sandbox Code Playgroud) 正如标题所说。我正在考虑使用 redis 创建一个状态服务场,我想处理多个“区域”——这样,如果服务出现故障,只有一个区域会受到影响。最初这似乎是一个好主意,但我宁愿事先知道:
由于 Windows Server 2003 的支持将于 7 月 14 日结束,因此我们将所有计划任务转移到 Windows 2008 R2 服务器。
我们使用 Microsoft(MS) Access 2003(mdb) 数据库来处理各种后端进程,以补充用户和客户与我们系统的交互。
MS Access 内部的后端进程之一(导致此问题的原因)是在用户未登录时拒绝打印。
后端进程填充临时表,该表稍后用于填充要打印的报告。该报告具有嵌入的查询、链接的图像和保存的默认打印机。
执行计划任务的用户是域用户。
会话 0 隔离- Access 会出现一个非常小的打印窗口,显示您位于第 X 页,共 N 页。无法与该窗口交互。我觉得这可能是罪魁祸首,但我们已经尝试过的一切都无法阻止它。
我们保持域用户登录状态。
windows-server-2008 printing scheduled-task session microsoft-access
基本上我创建了一个没有主目录 ( adduser --no-create-home)的新 sudoer ,但是现在,每次我用它登录时,我都会收到“ Could not chdir to home directory: No such file or directory”提示。
是否有文件指示用户会话开始的位置,以便我可以更改它?
希望你能在这种情况下帮助我。
我正在管理一个用于新闻通讯的 Postfix 服务器。最近,主要收件人域之一更改了其策略,每个 smtp 会话/连接仅接受一封电子邮件。为了遵守他们的政策,我发现 main.cf 中的以下设置很有用,因为它们涉及电子邮件传送的并发性,尽管它似乎没有帮助。
(我已经用低至 1 的值进行了测试)
我面临的错误是:dsn=4.4.2,status=deferred,以及告诉我每个 SMTP 连接发送一封电子邮件的链接。
后缀版本:2.9.6
任何建议将不胜感激!