标签: session

两台机器之间的Tomcat共享会话/集群是否可能?

我有一个分布在几台服务器之间的几台 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,反之亦然。

cluster tomcat session

6
推荐指数
1
解决办法
5437
查看次数

在跨多个 Amazon EC2 实例维护会话时遇到问题

我的网站之一是通过 Amazon EC2 服务托管的。当站点面临沉重的负载时,问题就开始发生,而这又通过 AutoScaling 产生了一个新的 EC2 实例。这很好,但问题是当这些实例被杀死(由于负载不足)时,会话信息也会丢失,从而迫使用户重新登录站点。

解决这个问题的最佳方法是什么?

我查看了Memcached 会话管理器,它适用于粘性会话,但是当我尝试使用非粘性会话时会导致问题,因为我向我的服务器发出了很多并行请求。

我现在的服务器是Apache+Tomcat

任何有用的指针。谢谢。

来自 webmasters.stackexchange 的交叉帖子

tomcat memcached amazon-ec2 session

6
推荐指数
1
解决办法
2345
查看次数

Windows 上的 PHP - ps_files_cleanup_dir 错误

加载 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 无法执行垃圾收集,我该如何解决?

iis php session garbage-collecting

6
推荐指数
1
解决办法
7834
查看次数

仅获取“活动”远程桌面会话

在 Windows 中,我可以使用以下命令获取特定服务器上的远程桌面会话:

qwinsta /server:SERVER_NAME
Run Code Online (Sandbox Code Playgroud)

但这给了我所有不同状态的会话(例如:活动、光盘……)。

是否有人知道命令、批处理文件或脚本来获取“活动”会话?我希望能够从普通的 Windows 7 客户端运行它。

windows remote-desktop session

5
推荐指数
1
解决办法
9232
查看次数

如何配置 Remoteapp 服务器以提高稳定性

RemoteApp 不稳定

根据我的经验,远程桌面连接(尤其是 RemoteApp 连接)会遇到一些不稳定的问题,尤其是在整天使用 RemoteApp 时表现得尤为明显。

有几个问题会影响稳定性和可用性:

  1. 连接意外中断。当应用程序空闲一段时间(大约 30 分钟)并且用户收回控制权时,应用程序没有响应。与服务器的连接中断。几秒钟后,消息连接已丢失。正在尝试将您重新连接到您的会话。出现。重新连接并不总是成功。这些断开的连接与空闲超时设置无关。

    日志(事件日志、TerminalServices-LocalSessionManager)显示当用户单击无响应的应用程序时断开连接。一些连接重新连接(大约 80%,其他的注销大约 20%)。

  2. 重新连接时偶尔黑屏。有时,当会话断开连接时,用户再次登录时,他会收到黑屏而不是登录屏幕(如此此处和其他地方有不同的解决方案)。我的设置:断开连接的会话在 5 分钟后注销。

语境

我有两个安装了 RDP 和 RemoteApp 的 Windows Server 2008 R2。我有连接到它的 Windows XP 和 Windows 7 客户端。用户整天运行 RemoteApp,但他们可能让应用程序闲置一小时左右。

到目前为止我所做的

服务器端的 Keepalive 改进了断开连接

感谢@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 …

rdp remote-desktop remoteapp windows-server-2008-r2 session

5
推荐指数
1
解决办法
2万
查看次数

会话变量在 PHP5/Apache2/Ubuntu12 中不持久

我有一个网站,它使用会话变量(在 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)

ubuntu php php5 session apache-2.2

5
推荐指数
1
解决办法
6432
查看次数

在服务器上安装多个 redis 实例是个好主意吗?

正如标题所说。我正在考虑使用 redis 创建一个状态服务场,我想处理多个“区域”——这样,如果服务出现故障,只有一个区域会受到影响。最初这似乎是一个好主意,但我宁愿事先知道:

  1. 安装多个并排的 redis 实例是个好主意吗?
  2. Redis只在RAM中存储数据?
  3. 典型的 redis 实例使用多少 RAM?(我意识到这可能是一个理所当然的问题,但我喜欢一些猜测)

linux session redis

5
推荐指数
1
解决办法
3842
查看次数

Windows 2008 R2 不从计划任务打印

问题

由于 Windows Server 2003 的支持将于 7 月 14 日结束,因此我们将所有计划任务转移到 Windows 2008 R2 服务器。

我们使用 Microsoft(MS) Access 2003(mdb) 数据库来处理各种后端进程,以补充用户和客户与我们系统的交互。

MS Access 内部的后端进程之一(导致此问题的原因)是在用户未登录时拒绝打印。

后端进程填充临时表,该表稍后用于填充要打印的报告。该报告具有嵌入的查询、链接的图像和保存的默认打印机。

执行计划任务的用户是域用户。

我们推测它可能是什么

会话 0 隔离- Access 会出现一个非常小的打印窗口,显示您位于第 X 页,共 N 页。无法与该窗口交互。我觉得这可能是罪魁祸首,但我们已经尝试过的一切都无法阻止它。

我们的尝试

  1. 在系统配置文件下创建桌面文件夹
  2. 确保用户是具有提升权限的本地管理员
  3. 登录时手动运行它(这有效)
  4. 创建应用程序的微型版本,用于执行打印作业的小样本。
  5. 设置计划任务在用户登录或未登录时运行。无论如何,MS Access 数据库中的其他进程仍在运行,并且我们得到未打印的进程的空报告。

当前的解决方法

我们保持域用户登录状态。

windows-server-2008 printing scheduled-task session microsoft-access

5
推荐指数
1
解决办法
2700
查看次数

修复无家可归用户的“无法 chdir 到主目录”

基本上我创建了一个没有主目录 ( adduser --no-create-home)的新 sudoer ,但是现在,每次我用它登录时,我都会收到“ Could not chdir to home directory: No such file or directory”提示。

是否有文件指示用户会话开始的位置,以便我可以更改它?

ssh login session user-accounts

4
推荐指数
1
解决办法
6万
查看次数

每个连接的 postfix 交付量

希望你能在这种情况下帮助我。

我正在管理一个用于新闻通讯的 Postfix 服务器。最近,主要收件人域之一更改了其策略,每个 smtp 会话/连接仅接受一封电子邮件。为了遵守他们的政策,我发现 main.cf 中的以下设置很有用,因为它们涉及电子邮件传送的并发性,尽管它似乎没有帮助。

(我已经用低至 1 的值进行了测试)

  • 初始目的地并发
  • 默认目标并发限制
  • smtp_destination_concurrency_limit

我面临的错误是:dsn=4.4.2,status=deferred,以及告诉我每个 SMTP 连接发送一封电子邮件的链接。

后缀版本:2.9.6

任何建议将不胜感激!

smtp postfix connection session

3
推荐指数
1
解决办法
3309
查看次数