>  기사  >  백엔드 개발  >  nginx가 PHP 페이지를 열 수 없으면 어떻게 해야 합니까?

nginx가 PHP 페이지를 열 수 없으면 어떻게 해야 합니까?

PHPz
PHPz원래의
2023-04-24 10:50:331790검색

인터넷의 급속한 발전과 함께 웹 서비스는 사람들이 정보를 얻는 중요한 방법 중 하나가 되었습니다. 가장 널리 사용되는 웹 서비스 기술 중 하나는 LAMP, 즉 Linux, Apache, MySQL 및 PHP입니다. 이러한 기술의 출현으로 인해 동적 웹 애플리케이션을 보다 쉽게 ​​구축할 수 있습니다. 그러나 LAMP는 완전한 웹 서비스 솔루션으로 사용되는 경우가 많지만 Apache 서버의 리소스 소모 및 성능 문제로 인해 Apache 대신 Nginx를 웹 서버로 사용하는 사람들이 점점 더 많아지고 있습니다.

Nginx는 고성능 경량 웹 서버이자 역방향 프록시 서버입니다. 매우 안정적이고 여러 플랫폼을 지원하는 오픈 소스 소프트웨어로 Apache 웹 서비스의 모든 기본 기능을 구현하며 더 나은 성능을 제공합니다. 그러나 많은 개발자는 Nginx와 함께 PHP를 사용할 때 Nginx가 PHP 페이지를 올바르게 열 수 없는 등 일부 레거시 문제에 여전히 직면합니다. Nginx가 PHP 페이지를 열 수 없는 문제와 해결 방법을 자세히 논의해 보겠습니다.

문제 설명

Nginx 서버에서 특정 PHP 프로그램을 실행할 때 PHP 페이지를 열 수 없습니다. 브라우저는 종종 "502 잘못된 게이트웨이" 또는 "404 찾을 수 없음"과 같은 오류 메시지를 표시합니다. 이는 일반적으로 PHP-FPM(PHP FastCGI 프로세스 관리자)이 올바르게 시작되지 않아 발생합니다. PHP-FPM은 Nginx 솔루션에서 실행되는 외부 프로세스 관리자이며 PHP 인터프리터 프로세스의 할당 및 실행을 관리합니다.

해결 방법

Nginx가 PHP 페이지를 열 수 없는 문제를 해결하는 방법은 다음과 같습니다.

1. Nginx와 PHP-FPM이 올바르게 설치되었는지 확인하세요.

먼저 Nginx와 PHP-FPM이 설치되었는지 확인하세요. 바르게. 올바르게 설치하지 않으면 PHP 스크립트를 올바르게 실행하지 못할 수 있습니다. PHP-FPM이 올바르게 설치되었는지 확인하려면 터미널에서 다음 명령을 실행하세요.

sudo apt-get install php-fpm

2. Nginx 구성 파일을 확인하세요

Nginx 구성 파일이 PHP 인터프리터의 위치를 ​​올바르게 설정했는지 확인하세요. PHP-FPM을 설치해야 합니다. Nginx 구성 파일에서 "location /"에 경로를 추가하세요.

server {
  listen   80;
  root /var/www/html;
  index index.php index.html index.htm;
  server_name test.com;
  
  location / {
    try_files $uri $uri/ /index.php?$query_string;
  }
  
  location ~ .php$ {
    fastcgi_pass unix:/run/php/php7.0-fpm.sock;
    fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
    include fastcgi_params;
    fastcgi_read_timeout 300;
  }
}

위 코드를 Nginx 구성 파일에 붙여넣고 경로가 실제 경로와 일치하는지 확인하세요. PHP 인터프리터의 위치를 ​​올바르게 구성하면 Nginx는 이를 사용하여 PHP 스크립트를 렌더링하고 웹사이트 방문자의 웹 브라우저에 전달합니다.

3. 서비스 다시 시작

Nginx 구성 파일을 변경한 경우 Nginx 서비스를 다시 시작해야 합니다. Nginx를 다시 시작하려면 터미널에서 다음 명령을 실행하세요.

sudo service nginx restart

마찬가지로 PHP-FPM 구성 파일을 변경한 경우 PHP-FPM 서비스를 다시 시작해야 합니다. PHP-FPM을 다시 시작하려면 터미널에서 다음 명령을 실행하세요: `

sudo service php-fpm restart

4. PHP-FPM이 시작되었는지 확인하세요

PHP 페이지가 여전히 제대로 작동하지 않으면 PHP-FPM이 시작되지 않았기 때문일 수 있습니다. PHP-FPM이 실행 중인지 확인하려면 터미널에서 다음 명령을 실행하세요.

systemctl status php-fpm.service

실행 중인 경우 "Active: active(running)"이라는 단어가 표시됩니다. 그렇지 않은 경우 다음 명령을 실행하여 PHP-FPM을 다시 시작할 수 있습니다:

sudo service php-fpm start

5. 파일 및 폴더 권한 확인

마지막으로 PHP 파일과 PHP가 의존하는 폴더에 올바른 권한이 있는지 확인하세요. PHP 파일이나 종속 폴더의 권한이 올바르게 설정되지 않으면 PHP 스크립트를 실행할 수 없습니다. 파일 또는 폴더 권한을 변경하려면 터미널에서 다음 명령을 실행하세요.

sudo chown -R www-data:www-data /var/www/html/

위 명령은 파일과 폴더의 소유권을 www-data 사용자 및 그룹으로 변경합니다.

요약

Nginx는 동적 웹 애플리케이션을 실행하기 위해 Apache 대신 사용할 수 있는 고성능 웹 서버 및 역방향 프록시 서버입니다. 그러나 Nginx와 PHP-FPM 간의 일부 구성 및 문제로 인해 PHP 페이지가 올바르게 열리지 않을 수 있습니다. 이 경우 위의 단계에 따라 하나씩 문제를 해결할 수 있습니다. 위의 모든 단계가 완료되면 Nginx 서버에서 PHP 스크립트를 정상적으로 실행할 수 있습니다.

위 내용은 nginx가 PHP 페이지를 열 수 없으면 어떻게 해야 합니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.