можно запустить Memcached в 64-битной среде Windows (x64)? - PullRequest
82 голосов
/ 12 августа 2008

Кто-нибудь знает ЕСЛИ , КОГДА или КАК Я могу получить Memcached , работающий в 64-битной среде Windows?

Я настраиваю новое решение для хостинга и предпочел бы запустить 64-битную ОС, и, поскольку это решение ASP.Net MVC с базой данных SQL Server, ОС будет либо Windows Server 2003, либо (надеюсь! ) 2008.

Я знаю, что это может перерасти в дискуссию о 32-битных и 64-битных серверах, но давайте просто скажем, что я предпочитаю 64-битные и у меня есть некоторые очень хорошие причины.

До сих пор я пробовал несколько вариантов и нашел бит из справки , связанный с установкой этого на 32-битной машине (и я мог бы добавить), но Поскольку оригинальный порт Windows относится к Win32, это вряд ли поможет при установке в качестве службы на x64. Он также зависит от libevent , для которого я могу получить только скомпилированную версию Win32.

Я подозреваю, что простая загрузка всего этого в C ++ и нажатие кнопки «compile» (для 64-битных систем) не сработает, не в последнюю очередь из-за сложных различий в 32- и 64-битных архитектурах, но мне интересно, работает ли кто-нибудь над снимать это с земли? К сожалению, мой опыт заключается только в управляемом коде (C #), в противном случае я бы попытался взять это на себя, но я не могу поверить, что я единственный парень, пытающийся заставить memcached работать на 64-битный сервер Windows .... я ??

Любая помощь или рекомендации приветствуются ...


Обновление

Да, боюсь, я все еще ищу ответ на этот вопрос - все мои усилия (с моими жалкими навыками C ++) по созданию стабильной сборки потерпели неудачу - я потерял один сервер и 3 виртуальные машины просто попробую, так что теперь я перехожу к настоящим экспертам. Кто-нибудь планирует портировать это на 64bit? Или вы действительно предлагаете вместо этого использовать MS Velocity? Я содрогаюсь от этой мысли ...


Обновление: @Lars - на самом деле я использую Enyim - это очень хорошо, но вы обращаетесь не к серверной части, а к клиенту.

@ DannySmurf - я смог установить его как службу только на 32-битной ОС. 64-битная ОС отклоняет установку этой службы Win32. Конечно, да, большая часть кода Win32 без проблем работает на архитектуре x64, поэтому вы можете запускать 32-битные приложения (например, Office) или игры на Vista / XP 64 и т. Д., Но это не относится напрямую к сервисам. Я не эксперт, я подозреваю, что это связано с синхронизацией или событиями, на которые сервисы должны подписаться, и я подозреваю, что 64 и 32 не работают хорошо. Я рад, что меня поправили, но чтобы ответить на ваш вопрос - да, я пытался.

@ OJ - большое спасибо за прямой ответ. Я так и думал, но не был уверен, есть ли у кого-то еще предложения или уже пошел по этому пути. Возможно, когда StackOverflow LIVE, тогда больше людей ответят и дадут мне знать, если это что-то изучается, и хотя я могу попытаться скомпилировать это самостоятельно - я просто не могу «доверять» (с моим уровнем опыта C ++), что оно обеспечит надежность уровня предприятия в таком важном компоненте больших масштабируемых решений. Я думаю, что прежде чем я смогу быть уверенным, для этого понадобится образованное вмешательство, а не мой неанимированный экспериментальный подход. Один небольшой недосмотр с моей стороны может привести к сбою сайта. Ну хорошо ... до следующего раза ...

Ответы [ 12 ]

0 голосов
/ 22 июля 2010

Между прочим, мне не удалось получить 64-битную версию (отсюда http://labs.northscale.com/memcached-packages/) для установки в качестве службы, пока я не запустил memcached от имени администратора.

Я просто зашел в свойства исполняемого файла, затем на вкладку «Совместимость» и установил флажок «Запустить эту программу от имени администратора» (существует множество других способов сделать это, но это кажется самым простым)

Тогда я наконец смог успешно запустить: memcached -d install

Не забудьте запустить службу и после ее установки:)

0 голосов
/ 12 августа 2008

Вы уверены, что 32-разрядная версия работает не только на 64-разрядной Windows без изменений? Большинство вещей делают.

В противном случае вы пытались просто скомпилировать его для 64-бит? Краткое сканирование нескольких групп Google и т. Д., Где люди задавали этот же вопрос, позволяет предположить, что это может быть именно таким решением. Я думаю, вы, вероятно, переоцениваете разницу между 32-битной и 64-битной Windows (по крайней мере, насколько компилируется нативное приложение).

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...