Как развернуть C ++ на моем веб-сервере? - PullRequest
1 голос
/ 07 февраля 2012

За этот пост здесь есть 3 способа

  • (1) делает все это в C ++, превращая вашу программу в автономный веб-сервер (возможно, через прокси через apache для предоставления таких вещей, как ssl, static media, аутентификация и т. Д.)
  • (2) запустить C ++ в cgi-bin через apache
  • создайте оболочку PHP, которая распространяется на часть C ++ (это хороший вариант, если часть, критичная к производительности, мала, поскольку вы все равно можете использовать комфорт, который дает вам сборщик мусора PHP и манипулирование строками)

Я не уверен, что лучше, поэтому я посмотрел на то, что делает сайт большого объема. Вот пост из фейсбука в 2010

Они используют инструмент статического анализа Hip Hop для преобразования PHP в C ++.

Мне не нужен инструмент статического анализа, поскольку у меня всего около 1500 строк, и я могу конвертировать вручную ... но мне нужна отправная точка.

Прямо сейчас я запускаю стек Ламп и хочу остаться на нем за вычетом (P) HP.

Вот ссылка , которая объясняет, как работает Facebook. Не уверен, насколько это точно.

Спасибо

Ответы [ 2 ]

2 голосов
/ 07 февраля 2012

Как отмечается в комментариях, Facebook почти наверняка использует специализированное решение, которое требует высоких затрат на администрирование в обмен на очень высокую эффективность.Маловероятно, что это именно то, что вы хотите.

Поскольку вам нужно просто заменить букву «P» в вашем стеке LAMP, это означает, что вы, вероятно, хотите сохранить «LAM» - Linux, Apache и MySQL (если есть).Это хорошая идея;Хотя в масштабах Facebook есть свои преимущества по сравнению с запуском собственного веб-сервера, крайне маловероятно, что он действительно будет полезен для вас, и продолжать работу с Apache, безусловно, намного проще и проще.(И, вероятно, более безопасный, поскольку вам не нужно думать о безопасности и исправлять ошибки самостоятельно.)

И вы планируете перевести весь ваш PHP, а не только его часть, так что вызовC ++ из PHP не имеет смысла.

Таким образом, в вашем случае наилучшим решением, скорее всего, будет запуск приложения C ++ через cgi-bin с существующим сервером Apache.

1 голос
/ 07 февраля 2012

FastCGI - намного лучший вариант, чем CGI, и может действовать как CGI в определенных обстоятельствах.Если вы хотите работать только с Apache, вы также можете разработать модуль Apache, и есть отличная книга по этому вопросу: Книга модулей Apache В ней описываются многие элементы разработки на C, в которых Apache действует по-разному:(своего рода) сервер приложений.

При тщательном кодировании на C / C ++ вы можете добиться замечательной производительности при ограниченном объеме памяти.Не для всего, но в некоторых обстоятельствах очень мощный.

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