#java #php #http #nginx #server
#java #php #http #nginx #сервер
Вопрос:
У меня есть простой сервер на Java. Он создает serversocket
и принимает запросы от браузера через ip
и порт. Он может обрабатывать файлы, такие как изображения, html… Теперь я хотел бы включить php
. Nginx
можно ли как-то взаимодействовать с php, используя путь:
unix:/run/php/php7.0-fpm.sock
Я использую linux
btw. и php7.0-fpm
, как теперь очевидно :
В моем понимании nginx
(который я также использую) «отправляет» php-scripts
в php-interpreter
, и он отвечает, отправляя обратно какой-либо другой файл (изображения, html …) nginx
, Который затем передает содержимое в браузер в качестве ответа. Моя цель — исключить замену nginx в этой цепочке моим собственным сервером. Он гораздо менее развит, чем nginx (я знаю и игнорирую), но конечной целью является отсутствие полностью разработанного веб-сервера.
Я был бы очень признателен, если бы кто-нибудь мог мне помочь. Интернет как источник знаний до сих пор меня подводил.
Также: если мои предположения неверны, пожалуйста, поправьте меня. Это также было бы полезно.
Большое вам спасибо!
Комментарии:
1. NGINX взаимодействует с PHP через TCP-порт или управляющий сокет, используя протокол FastCGI . То, что вы пытаетесь сделать, это вызвать «написать клиент FastCGI на Java». Просто загуглите «java fastcgi client», и вы должны найти пару примеров в Интернете.
2. Я просто добавлю это как «тот единственный вариант, который на самом деле не рекомендуется, но вы должны знать, что это возможно», это было бы вызвать интерпретатор с помощью канала и использовать php-скрипт, который будет анализировать аргументы командной строки (
$argv
) в$_GET
и$_POST
. А затем включите фактический php-скрипт, который вам нужно обслуживать (вы также можете получить его имя через аргумент командной строки). Это быстрый, но грязный способ, которым я решил его некоторое время назад. Он становится все более и более сложным с сеансами и файлами cookie и, как правило, медленнее, чем FCGI, поэтому не пытайтесь, это серьезно не рекомендуется3. Я просмотрел «java fastcgi client» и нашел библиотеки и тому подобное, но как я могу это реализовать? не используя внешний компонент / библиотеку… я также хотел бы узнать больше о создании канала между java и интерпретатором php.