사이트 가 Apache 에서 Nginx 로 이 식 된 문제 기록

4350 단어 독학 노트
사이트 가 Apache 에서 Nginx 로 이 식 된 문제 기록
  • 1. 파일 권한 문제
  • 2. 첫 페이지 만 방문 할 수 있 고 다른 페이지 는 404 오류
  • 를 보고 합 니 다.
  • 위 정태 전이 문제 해결
  • Nginx 지원 PATHINFO 모드 설정
  • 질문
    루트 사용자 가 로그 인 한 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 를 다시 시작 하고 접근 하면 정확하게 해석 할 수 있 습 니 다.

    좋은 웹페이지 즐겨찾기