2013-07-04 4 views
0

У меня есть какой-то вопрос noob относительно node.js и socket.io. Этим двум парням обычно необходимо использовать веб-порты для связи между сервером и браузером. Как только мой проект будет завершен, я должен загрузить свои php-файлы на свой сервер apache. Теперь, на мой вопрос, я должен также загрузить мой каталог node_modules на мой сервер Apache? вместе с каталогом socket.io?node.js socket.io apache server

ответ

1

Для запуска процесса node.js вам необходимо иметь возможность выполнять собственные приложения на сервере. Классический виртуальный сервер не допускает такой функциональности. Существует виртуальный серверный хостинг для node.js специально, проверьте nodejitsu, heroku или любой другой.

Вы можете запускать node.js как веб-платформу самостоятельно, без использования каких-либо апачей, что сделает вашу жизнь намного проще. Но если вам все еще нужны apache и PHP, вам нужно рассмотреть возможность проксирования от apache к процессу node.js. Это все еще может быть сложно, поскольку проксирование WebSockets не является прямым.

Если у вас есть доступ к настройкам Apache, то вы можете включить прокси для HTTP/HTTPS, прочитать: http://ronenagranat.blogspot.co.uk/2011/02/apache2-reverse-proxy-for-nodejs.html
Для WebSockets, есть не доступно много данных, но здесь можно решение: http://blog.cafarelli.fr/post/2013/04/26/Backporting-Apache-support-for-websockets-reverse-proxy-(aka-getting-GateOne-to-work-behind-Apache)

Хотя если у вас есть собственный сервер и у вас есть возможность выбирать между веб-платформой, я бы рекомендовал заглянуть в nginx, так как он поддерживает проксирование WebSockets (может потребоваться перекомпиляция модуля и nginx).