Computer >> 컴퓨터 >  >> 문제 해결 >> Linux

Ubuntu 서버 업그레이드 후 Nginx에서 404 오류 해결

오늘날 가장 일반적인 웹 서버 조합 중 하나는 Ubuntu Server 에디션에서 실행되는 Nginx 웹 서버 소프트웨어 구현을 특징으로 합니다. 두 패키지 모두 정기적인 업데이트를 계속 받기 때문에 이 시스템은 매우 효율적이고 업데이트를 유지하기 쉽습니다. Ubuntu Server에는 기본적으로 그래픽 인터페이스가 없기 때문에 시스템 관리자는 일반적으로 적절한 패키지 관리자를 통해 업데이트를 설치합니다.

Ubuntu Server 업그레이드는 때때로 비정상적인 오류를 생성할 수 있으며, 그래픽 사용자 인터페이스가 부족하여 초보자가 문제를 해결하기 어려울 수 있습니다. Ubuntu 업그레이드 후 404 Nginx 오류를 수정하는 데는 몇 가지 간단한 명령만 있으면 됩니다.

방법 1:누락된 Nginx 오류 페이지 수정

사이트가 AWS, 개인 서버 또는 LEMP 스택의 다른 서버 구성에서 호스팅되는 경우 Ubuntu Server 업그레이드 후 무작위로 다운될 수 있습니다. 웹 브라우저(아마도 다른 컴퓨터)에서 사이트에 액세스해 보십시오. 404 오류가 반환된다고 가정하면 Ubuntu Server CLI로 이동하여 tail -f 명령을 실행하여 가장 최근의 오류를 모두 확인하세요.

로그에 다음과 같은 오류가 포함되어야 합니다:

시스템에 오류 페이지 누락이 발생했습니다. 이 줄에 40x.html이 표시될 수도 있지만, 사이트가 다운되고 대신 404 오류가 발생하는 경우에는 상대적으로 흔하지 않습니다. ls 명령을 사용하여 거기에 무엇이 있는지 확인하세요. 그렇지 않은 경우 50X 오류에 대한 페이지용 HTML 코드를 생성해야 합니다.

기본 디렉터리 구조를 사용하는 것은 패키지 관리자에 문제가 되는 경우가 많으므로 여기에 저장된 내용을 덮어쓸 수 있다는 점에 유의하세요. 사용자 정의 디렉터리 구조를 생성하도록 허용된 경우 이러한 종류의 문제를 방지하기 위해 Nginx 구성에서 docroot 줄을 변경할 수 있습니다.

방법 2:PHP가 올바른 소켓을 찾도록 하기

에서 다음과 같은 오류를 발견할 수도 있습니다.

이는 PHP7.0이 실행되고 있지만 있어야 할 곳에서 실행되고 있지 않음을 의미합니다. 버전 번호는 PHP 구성 방법에 따라 다를 수 있습니다. 기본 설치는  또는 에서 실행되지만 이 오류가 발생하는 경우에는 그렇지 않을 가능성이 높습니다.

명령을 실행한 다음 -name 'php*fpm.sock'을 찾아 시스템 어딘가에서 실행 중인 소켓이 있는지 확인하세요.

긍정적인 출력을 받았다고 가정하면 Nginx 구성을 업데이트하여 소켓이 실행되어야 하는 올바른 위치를 표시해야 합니다. 당연히 /directoryPath는 올바른 경로로 대체됩니다. 소켓 파일을 사용하는 경우 php/php7.0-fpm.sock 줄은 구성을 업데이트해야 합니다.

소켓 파일을 사용하지 않는 이전 TCP 소켓 사용자는 sudo netstat -tulpn | 명령줄에서 grep 9000을 실행하세요. 이 경우 nano, vi 또는 다른 텍스트 편집기에서 fastcgi_pass를 열고 unix:… 행을 변경하여 대신 127.0.0.1:9000을 사용하여 소켓을 업데이트하십시오.

이 방법이 작동하지 않으면 sudo systemctl restart php7.0-fpm 명령을 사용하여 php7.0-fpm 또는 사용 중인 버전 번호가 실행되고 있는지 확인한 후 위 프로세스를 반복하세요.

대부분의 경우 의 청취 항목과 의 값은 동일해야 한다는 점을 명심하세요. 최신 구성을 시도하거나 이전 스타일 구성을 위해 127.0.0.1:9000을 시도해 볼 수 있습니다.

저자 소개

Ubuntu 서버 업그레이드 후 Nginx에서 404 오류 해결

케빈 애로우

Kevin Arrows는 10년 이상의 업계 경험을 보유한 경험이 풍부하고 지식이 풍부한 기술 전문가입니다. 그는 MCTS(Microsoft Certified Technology Specialist) 인증을 보유하고 있으며 최신 기술 개발에 대한 최신 정보를 얻으려는 깊은 열정을 가지고 있습니다. Kevin은 소프트웨어 개발, 사이버 보안, 클라우드 컴퓨팅과 같은 분야에서 자신의 전문 지식과 지식을 보여주면서 광범위한 기술 관련 주제에 대해 광범위하게 글을 썼습니다. 기술 분야에 대한 그의 공헌은 동료들로부터 널리 인정받고 존경받고 있으며, 복잡한 기술 개념을 명확하고 간결하게 설명하는 능력으로 높은 평가를 받고 있습니다.