php에 액세스할 수 없는 nginx에 대한 해결 방법: 1. 텍스트 편집기를 사용하여 php-fpm.conf 구성 파일을 엽니다. 2. 구성을 수정합니다. [listen = /tmp/php-cgi.sock] 3. nginx를 다시 시작합니다. .
문제 설명:
nginx의 루트 디렉터리에 새 index.php 파일이 생성되었지만 php 파일에 액세스할 때 항상 오류 502가 보고되었습니다. 테스트 결과, PHP 파일을 제외한 모든 파일에 직접 액세스할 수 있는 것으로 나타났습니다.
(추천 튜토리얼: nginx 튜토리얼)
해결책:
먼저 php-fpm이 설치되어 있는지 확인하세요. 그렇지 않다면 먼저 php-fpm을 설치해야 합니다.
서버에 php-fpm이 설치되었는지 확인한 후 시작되었는지 확인하거나 직접 다시 시작하세요.
[root@localhost ~]# /usr/local/php/sbin/php-fpm start
시작이 완료된 후 nginx를 다시 시작하세요:
[root@localhost ~]# service nginx restart
그러나 위 작업으로는 문제가 해결되지 않았습니다.
nginx 오류 로그를 찾으세요. 내 로그는 /var/log/nginx/error.log에 있습니다. 유사한 오류를 모두 엽니다.
2019/11/28 06:06:13 [error] 1640#0: *579 connect() failed (111: Connection refused) while connecting to upstream, client: 192.168.56.1, server: _, request: "GET /index.php HTTP/1.1", upstream: "fastcgi://127.0.0.1:9000", host: "192.168.56.101"
아마도 9000 포트를 연결할 수 없다는 의미일 것입니다.
이제 수신 포트 9000이 있는지 확인해야 합니다.
[root@localhost ~]# netstat -ant | grep 9000 发现并没有监听(php-fpm已经启动)
구체적인 해결 방법:
Open
vi /usr/local/php/etc/php-fpm.conf #不知道安装在哪里的话 可以 find / -name php-fpm.conf 搜索一下
Find listening
[www] = /tmp/php-cgi.sock에서 수신합니다. 이를 복사하여 nginx 구성 파일에 붙여넣습니다
과거에는 fastcgi_pass를 127.0.0.1:9000으로 작성했지만 이제는 unix:/tmp/php-cgi.sock으로 변경해야 합니다.
마지막으로 nginx를 다시 시작하세요.
관련 권장 사항: php training
위 내용은 nginx가 PHP에 액세스할 수 없으면 어떻게 해야 합니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!