На главную Наши проекты:
Журнал   ·   Discuz!ML   ·   Wiki   ·   DRKB   ·   Помощь проекту
ПРАВИЛА FAQ Помощь Участники Календарь Избранное RSS
msm.ru
! Дополнения к правилам (только для данного раздела)
- Используйте подсветку синтаксиса при выделении исходного кода;
- В описании темы обязательно укажите язык программирования;
- Прежде чем задать вопрос, обязательно воспользуйтесь поиском и загляните в FAQ раздела.
- Если вопрос касается серверного ПО, указывайте ОС.
- Если вопрос касается ASP.NET то лучше будет задать его в соответствующем разделе. Там вы сможете получить ответ намного быстрее.

Модераторы: Serafim, fatalist
  
> Как связать самописный сервер на С++ и Apache-php на одном 80м порту?
    Имеется самописный сервер на C++, умеющий отвечать на запросы в json - в этом состоит его основной функционал (отдаёт обновления чата). Основную веб-морду он пока отдаёт тоже сам (в виде html-страничек с js-скриптами, которые через ajax запрашивают обновления чата). Схема работает, но получается что весь бэкэнд я вынужден писать на плюсах, а это, мягко говоря, плохо расширяемая архитектура. Хочется подключить, скажем, apache c php, куда можно поставить готовые CMS (например WordPress); а выход на мой чат был бы только одной из страничек его сайта.

    Ну т.е. хотелось бы организовать что-то вроде такого:
    mysite.ru/wp/index.php - отдаёт обычный сайт на php
    mysite.ru/chat/?p1=v1&v1=v2 - отдаёт ответы от моего cpp-щного сервера.

    В принципе проблема легко бы решалась, если бы php-шный сайт работал себе на привычном 80м порту, а cpp-шный сервер - на каком-нибудь другом. Но мне хочется чтобы всё делалось на 80м (другие порты ведь у пользователя могут быть закрыты - на работе злым админом, дома - роутером, который далеко не все умеют настраивать).

    Пока есть мысли о связке через fastCGI, модули к php или тупо через php-socket (последний вариант уже пробовал, но напрягает создание отдельного php-интерпретатора на каждый запрос пользователя; а ведь в чате это long-pooling, т.е. созданный процесс не просто отработал и умер, а ждёт обновления чата до 15 секунд; собственно из за этого я и перешёл на c++).
    Или ситуация решается ещё проще, как-то через настройку htaccess?

    Подскажите, в какую сторону копать?
    (отказ от ядра на C++ не предлагать, мне нужно понять, как сделать ему веб-интерфейс и подружить с php).


    P.S. Вопрос размещаю в ветках форума и про C++, и про HTTP сервера, не знаю кого он больше касается (если всё сводится к настройке htaccess, то ко второму, а если нет - то к более "увлекательному" первому).
      во-первых, попробуй перейти с apache на nginx, почувствуешь разницу в скорости, и возможно с++ не пригодится.
      но, если ты настаиваешь на с++, я бы копал в сторону fastcgi. вот хорошая статья по теме: http://habrahabr.ru/post/154187/.
      т.е в конечном счете твой nginx конфиг будет выглядеть так (схематично):
      ExpandedWrap disabled
        server {
            server_name localhost;
         
            location /cppchat {
                fastcgi_pass 127.0.0.1:9001;  // твой c++ демон висит на 9001
                include fastcgi_params;
            }
                location / {
                fastcgi_pass 127.0.0.1:9000; // php-fpm на все остальные странички
                include fastcgi_params;
            }
        }
        Наркоманы... все.

        Сообщения были разделены в тему "scrum"
        1 пользователей читают эту тему (1 гостей и 0 скрытых пользователей)
        0 пользователей:


        Рейтинг@Mail.ru
        [ Script execution time: 0,0869 ]   [ 14 queries used ]   [ Generated: 6.07.25, 19:37 GMT ]