사이트 가 Apache 에서 Nginx 로 이 식 된 문제 기록
4350 단어 독학 노트
루트 사용자 가 로그 인 한 ftp 서 비 스 를 이용 하여 서버 에 사 이 트 를 업로드 합 니 다. 사이트 파일 의 소유 자 는 루트 이 고 파일 권한 이 다른 그룹 에서 읽 을 수 없 기 때문에 웹 페이지 에 접근 하 는 데 실 패 했 습 니 다. 문 제 는 Nginx 의 고장 기록 에서 분석 할 수 있 습 니 다.
2. 첫 페이지 만 방문 할 수 있 고 다른 페이지 는 404 오 류 를 보고 합 니 다.
이 문제 가 발생 하 는 원인 은 주로 두 가지 가 있다. 1. 위 정적 전이.2: Nginx 설정 은 path 를 지원 할 수 없습니다.info 모드;
의사 정적 이전 문 제 를 해결 하 다.
사이트 루트 디 렉 터 리 에 있 는 htccess 파일 을 Nginx 가 식별 할 수 있 는 명령 으로 변환 합 니 다.이 사 이 트 는 온라인 변환 을 제공 할 수 있 습 니 다:http://www.51ask.org/apache2nginx/ ; 변환 후 파일 에 있 는 원래 아파 치 의 코드 를 직접 바 꾼 다음 Nginx 프로필 의 location 에 이 파일 을 포함 하거나 location 에 변 환 된 코드 를 직접 추가 할 수 있 습 니 다.이상 에서 위 정적 이전 이 완료 되 었 습 니 다.
Nginx 지원 PATHINFO 모드 설정
의사 정적 이전 이 완료 되면 홈 페이지 에 접근 할 수 있 습 니 다. 다른 페이지 404;오류 로 그 는 failed (20: Not a directory) 입 니 다. ThinkpHP 의 Conf 폴 더 에 있 는 convention. php 파일, URL 설정 의 'URL' 을 볼 수 있 습 니 다.MODEL '은 1, 즉 PATHINFO 모드 로 기본 Nginx 가 PATHINFO 모드 를 지원 하지 않 을 수 있 음 을 판단 하여 설정 파일 수정: 수정 전
location ~ \.php$ {
root /var/www/html/wwwroot;
fastcgi_pass 127.0.0.1:9000;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME /var/www/html/wwwroot$fastcgi_script_name;
include fastcgi_params;
}
수정 후
location ~ \.php { # php $
root /var/www/html/wwwroot;
fastcgi_pass 127.0.0.1:9000;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME /var/www/html/wwwroot$fastcgi_script_name;
include fastcgi_params;
fastcgi_split_path_info ^(.+\.php)(.*)$; #
fastcgi_param PATH_INFO $fastcgi_path_info; #
}
수정 완료 후 kill - UP [Nginx 주 프로 세 스 번호] 사용 하기;Nginx 를 다시 시작 하고 접근 하면 정확하게 해석 할 수 있 습 니 다.
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
위챗 소프로그램 온라인 버전 자동 업데이트 함수텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.