Centos 7 apache php-fpm, похоже, не работает

Установленные и связанные пакеты на сервере:

php php-cli php-common php-opcache php-mcrypt php-gd php-curl php-fpm php-dom php-intl php-pecl-mongodb php-mbstring php-xml php-pear php-devel php-pecl-zip

Centos 7 Apache / httpd

Предыстория:

Мы переходим на новый сервер со старого, потому что теперь у нас наконец есть время, чтобы все перенастроить. На старом сервере все работало, но не хватало некоторых функций, которые могли повысить производительность. Один из них - файл php-fpm. Теперь новая конфигурация сервера почти завершена, отсутствует только соединение с инструментом автоматического развертывания и php-fpm. Поэтому я установил php-fpm, используя следующие руководства:

https://www.webhostinghero.com/centos-apache-php-fpm/

https://www.mynotepaper.com/install-latest-php -php-fpm-on-centos-7 /

https://www.stephenrlang.com/2018/02/centos-7-apache-2-4-with-php-fpm/

Это топ-3 результатов по теме в Google, и я вроде как устал от всего этого, потому что я работал над всей конфигурацией в течение 2 месяцев, и мне очень хотелось бы закончить ее сейчас. Проблема в том, что все вышеперечисленное не работает.

Что работает?

Ну, httpd работает отлично. У php-fpm тоже есть служба, и она, похоже, прослушивает порт № 9000. Итак, первая проблема заключается в том, что я не совсем уверен, как мне узнать, работает он или нет. Как я уже сказал, службы подходят как для httpd, так и для php-fpm. Также добавлен в автозапуск

Как я пытаюсь узнать, работает он или нет?

Ну, есть phpinfo, который чаще всего предлагается, но моя проблема в том, что я не хочу выкладывать config для публики. У нас есть попытки взлома - безуспешные - уже на сервере, поэтому лучше сохранить его в безопасности. Второй вариант - php -i | grep "Серверный API" должен вернуться с этим - учитывая учебники: "FPM / fastCGI" и он возвращается с "Интерфейсом командной строки"

Я думаю, это может означать, что он не работает. Это правда?

Что я делал до сих пор?

в /etc/php.ini У меня есть эта строка, как было предложено в руководстве: cgi.fix_pathinfo = 0

Тогда здесь /etc/php-fpm.d/www.conf

user = apache
group = apache
listen.owner = apache
listen.group = apache
listen = /var/run/php-fpm/default.sock

Затем здесь /etc/httpd/conf.modules.d/00-mpm.conf

вместо это: LoadModule mpm_prefork_module modules / mod_mpm_prefork.so У меня есть это: LoadModule mpm_event_module modules / mod_mpm_event.so

Затем здесь /etc/httpd/conf.d/php.conf

# Proxy declaration
<Proxy "unix:/var/run/php-fpm/default.sock|fcgi://php-fpm">
    # we must declare a parameter in here (doesn't matter which) or it'll not register the proxy ahead of time
        ProxySet disablereuse=off
</Proxy>

# Redirect to the proxy
<FilesMatch \.php$>
    SetHandler proxy:fcgi://php-fpm
</FilesMatch>

плюс некоторые элементы по умолчанию. Это все из описаний, которые я привел выше

. После настройки службы каждый раз перезагружались, и я получаю тот же результат. Так что я понятия не имею, чего не хватает для того, чтобы это работало - в основном потому, что я впервые использую php-fpm с apache.

Сайты все еще работают, а вот эта штука с fpm - нет.

Есть идеи ?

0
задан 18 December 2019 в 19:34
1 ответ

"Какие-либо идеи?"

, Возможно, что-то, чтобы сделать с необходимым a2enmod, a2enconf, и команды a2dismod? Когда я переключился на php7.3-fpm на апачских 2.4, я должен был сделать следующее (это было на debian 10 и человечности 18.04):

sudo systemctl stop apache2
sudo apt-get install php7.3-fpm  
a2enmod proxy_fcgi setenvif
a2enconf php7.3-fpm  # this may depend on your PHP vendor
a2dismod php7.3      # This disables mod_php.
a2dismod mpm_prefork # This disables the prefork MPM. Only one MPM can run at a time.
a2enmod mpm_event    # Enable event MPM. You could also enable mpm_worker.
sudo systemctl restart apache2

Должностное лицо sudo apachectl -M и ищут эти модули:

 http2_module (shared)
 mpm_event_module (shared)
 proxy_module (shared)
 proxy_fcgi_module (shared)
0
ответ дан 30 December 2019 в 00:11

Теги

Похожие вопросы