모든 기본값을 사용하여 Apache 및 PHP-FPM 설정과 함께 CentOS 8 Stream을 새로 설치했습니다(기본값은 PHP 7.2.24 FPM/FastCGI).
내 응용 프로그램은서버 전송 이벤트JavaScript EventSource
객체를 사용합니다. 이를 작동시키려면 데이터가 가능할 때(또는 적어도 PHP flush
호출이 이루어질 때) 클라이언트에 데이터를 보낼 수 있도록 Apache/FPM 설정이 필요합니다.
그러나 FPM은 그렇게 하지 않습니다. 스크립트가 완료되는 즉시 모든 데이터가 출력됩니다. (내가 원하는 건 이게 아닌데...)
스크립트 처리 중에 데이터를 플러시할 수 있도록 Centos8에서 PHP-FPM을 어떻게 구성합니까?
Proxy
다음 위치에 지시문 을 추가해 보았습니다 /etc/httpd/conf.d/php.conf
.
<Proxy "fcgi://localhost" enablereuse=on flushpackets=on max=10>
</Proxy>
직후에 </FilesMatch>
, 그러나 그것은 작동하지 않는 것 같습니다.
답변1
이것은 질문에 대한 답변이 아니라 (임시) 해결 방법입니다. PHP-FPM을 비활성화하고 다시 mod_php
.
CentOS 8에서는 매우 간단합니다. 에서 /etc/httpd/conf.modules.d/00-mpm.conf
다음 줄의 주석 처리를 제거하세요.
LoadModule mpm_prefork_module modules/mod_mpm_prefork.so
에 대한 행을 주석 처리합니다 mpm_event
.
그런 다음 이것을 다음에 추가하십시오 httpd.conf
.
<IfModule prefork.c>
StartServers 5
MinSpareServers 5
MaxSpareServers 10
MaxRequestWorkers 150
MaxConnectionsPerChild 0
</IfModule>
원천:https://www.linode.com/docs/guides/how-to-install-apache-web-server-centos-8/