【发布时间】:2010-09-05 18:02:57
【问题描述】:
有谁知道 IF、WHEN 或 HOW 我可以让Memcached 在 Windows 64 位环境中运行吗?
我正在设置一个新的托管解决方案,并且更喜欢运行 64 位操作系统,因为它是一个带有 SQL Server DB 的 ASP.Net MVC 解决方案,所以操作系统要么是 Windows Server 2003,要么是(希望如此! ) 2008 年。
我知道这可能会引发关于服务器上 32 位与 64 位的争论,但我只想说我的偏好是 64 位,并且我有一些verygood 的原因。
到目前为止,我已经尝试了许多选项,并找到了一个 bit 和 help 与在 32 位机器上安装它相关(我可能会添加成功),但由于原始 Windows port 是 Win32具体来说,这在 x64 上作为服务安装时几乎没有帮助。它还依赖于libevent,对此我只能获得 Win32 编译版本。
我怀疑简单地在 C++ 中加载所有这些并点击“编译”(对于 64 位)是行不通的,尤其是因为 32 位和 64 位架构之间的复杂差异,但我想知道是否有人正在研究让这个离开地面?不幸的是,我的专长仅在于托管代码 (C#),否则我会尝试自己承担这一点,但我不敢相信我是唯一一个试图让 memcached 在 64 位 Windows 服务器上运行的人....是我吗?
更新
是的,恐怕我仍在寻找这个问题的答案 - 我所有的努力(用我可怜的 C++ 技能)进行稳定构建的所有努力都失败了 - 我已经破坏了一台服务器和 3 台虚拟机尝试一下,所以现在我求助于真正的专家。 有人打算将其移植到64位吗?还是您真的建议我改用 MS Velocity?想到这里我不寒而栗。
更新: @Lars - 实际上我确实使用 Enyim - 它非常好,但你指的是客户端,而不是服务器部分。
@DannySmurf - 我只能将它作为服务安装在 32 位操作系统上。 64 位操作系统拒绝安装此 Win32 服务。当然是的,许多 Win32 代码在 x64 架构上无缝运行,因此您可以在 Vista/XP 64 等上运行 32 位应用程序(例如 Office)或游戏,但这并不能直接转化为服务。我不是专家,我怀疑这与服务需要订阅的同步或事件有关,我怀疑 64 和 32 不能很好地发挥作用。我很高兴得到纠正,但要回答您的问题 - 是的,我已经尝试过了。
@OJ - 非常感谢您的直截了当的回复。我想了很多,但不确定其他人是否有建议或已经走这条路。也许当 StackOverflow 上线时,会有更多人回复并让我知道这是否正在研究,虽然我可以尝试自己编译它 - 我根本无法“相信”(以我的 C++ 经验水平)它将在大型可扩展解决方案的关键组件中提供“企业级”可靠性。我认为这需要有教养的干预,而不是我未经消毒的实验方法,然后我才能有信心。我的一个小小的疏忽可能会导致网站崩溃。哦,好吧……直到下一次。
【问题讨论】:
-
尝试注册服务时出现什么错误?我安装了几个在 32 位、64 位环境中开发的服务,从来没有遇到过问题。尝试在 32 位中打开命令行并使用程序 sc.exe 注册服务
标签: c# c++ windows 64-bit memcached