Судя по тому что удалось выяснить в комментариях вам не нужны ни PHP ни Node.js, речь на самом деле о мгновенной доставке сообщений в зависимости от того что происходит на сервере.
Лучше всего (учитывая распространенность поддержки у популярных браузерах) вам подойдет протокол WebSockets.
WebSockets можно реализовать на Node.js, к примеру, я как-то использовал NPM пакет
nodejs-websocket.
Так же WebSockets сервер можно реализовать на PHP, это уже как удобно (может пригодиться для повторного использования кода и вообще реализации всего в рамках одного стека). Для PHP одна из популярных реализаций это
Ratchet.
Если у вас что-то происходит на сайте (который уже есть и на PHP) и вы хотите отправить сообщение на клиент по WebSockets, я бы порекомендовал подключаться к тому же WebSockets серверу (не важно на чём он написан) через библиотеку
Pawl (часть проекта Ratchet), которая является WebSockets клиентом и написана на PHP (но нужно как-то отличать внутренние запросы от севера и внешние от клиентов, для этого можно ввести в серверные сообщения какой-то секретный токен).
Теперь вторая часть, по поводу порта. На самом деле если вы контролируете сервер, то можете повесить всё на один внешний порт, а внутри Nginx будет сам разбираться куда направлять запрос - если нужно, то отправит на интерпретатор PHP, а если это WebSockets соединение, то сделает переключение протокола до WebSockets. Как у меня во фреймворке это реализовано можете посмотреть на примере конфига Nginx здесь:
https://github.com/nazar-pc/CleverStyle-CMS/wiki/N... Смотрите где /WebSockets location.
И очень рекомендую разобраться всё-таки чем отличается Node.js от PHP от WebSockets от AJAX чтобы задавать более конкретные вопросы в будущем и реализация иначе у вас тоже не получится.