Nginx 소결

주: 이 소결 은 Ubuntu 를 기반 으로 하지만 원 리 는 모든 Linux 시스템 에 적 용 됩 니 다.
 
개황
설치: sudo apt - get install nginx
설치 후 아래 각 디 렉 터 리 받 기
/ usr / sbin / nginx: 주 프로그램
/ etc / nginx: 설정 파일 저장
/ usr / share / nginx: 정적 파일 저장 (웹 기본 디 렉 터 리)
/ var / log / nginx: 로그 저장
/ etc / init. d / nginx: 서비스 위치
위 에서 알 수 있 듯 이 Linux 시스템 의 프로필 은 보통 / etc 에 놓 여 있 고 로 그 는 보통 / var / log 에 놓 여 있 으 며 실행 하 는 프로그램 은 보통 / usr / sbin 또는 / usr / bin 에 놓 여 있 습 니 다.
공식 문서 나 자체 주석 은 모두 좋 은 튜 토리 얼 입 니 다. 예 를 들 어 설정 파일 default 에 주석 이 많 습 니 다.
 
배치 하 다.
/ etc / nginx 에 프로필 을 저장 합 니 다.
ngix. conf 는 주 프로필 입 니 다. (sites - enabled 의 설정 을 포함 합 니 다.)
sites - enabled 는 sites - available 의 설정 을 참조 할 수 있 습 니 다.
sites - available 는 일반적인 상황 에서 설정 을 수정 하 는 곳 입 니 다.
기본 값 에 default 프로필 이 존재 하기 때문에 설정 의 병합 규칙 을 알 아야 합 니 다.새 try 설정 파일 을 만 들 었 지만 효력 을 잃 었 습 니 다.정 모 르 겠 으 면 default 파일 을 수정 하 세 요.
이 폴 더 에 test 파일 과 같은 설정 파일 을 만 들 면 (이 예 는 테스트 되 지 않 았 습 니 다. default 를 덮어 쓸 수 없습니다. 프 리 젠 테 이 션 만 참고 하 십시오):
server {
    listen      80; #   80  

    root       /srv/awesome/www;
    access_log /srv/awesome/log/access_log;
    error_log  /srv/awesome/log/error_log;

    server_name awesome.farmer.com; #     

    #       /favicon.ico:
    location /favicon.ico {
        root /srv/awesome/www;
    }

    #       :
    location ~ ^\/static\/.*$ {
        root /srv/awesome/www;
    }

    #   PHP  
    location ~ \.php$ {
        fastcgi_pass 127.0.0.1:9000;
        fastcgi_index /srv/try/www/index.php;
        fastcgi_param  SCRIPT_FILENAME  $document_root$fastcgi_script_name;
        include fastcgi_params;
    }

    #        8888  :
    location / {
        proxy_pass       http://127.0.0.1:8888;
        proxy_set_header X-Real-IP $remote_addr;
        proxy_set_header Host $host;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
    }
}

location 설정 설명: 일치 하 는 것 은 $request_uri, 설정 형식 은 다음 과 같 습 니 다.
location [=|~|~*|^~]  uri  { 

...

}

 
= 시작 은 정확 한 일치 ^ ~ 시작 을 표시 합 니 다. 이것 은 정규 표현 식 이 아 닙 니 다. 정규 표현 식 보다 좋 은 것 이 목적 입 니 다.이 location 이 가장 적합 하 다 면 정규 표현 식 검 사 를 하지 않 습 니 다. ~시작 은 대소 문 자 를 구분 하 는 정규 일치 임 을 나타 낸다. ~ *첫 번 째 는 대소 문 자 를 구분 하지 않 는 정규 일치 / 공통 일치 임 을 표시 합 니 다. 다른 일치 가 없 으 면 모든 요청 이 일치 합 니 다.
 
!~ && !~*:대소 문자 구분 이 일치 하지 않 는 정규 와 대소 문 자 를 구분 하지 않 는 일치 하지 않 는 정규
우선 순위: (location =) > (location 전체 경로) > (location ^ ~ 경로) > (location ~, ~ * 정규 순서) > (location 부분 시작 경로) > (/)
1. 우선 매 칭 = 2. 그 다음 매 칭 ^ ~ 3. 그 다음 설정 파일 의 순서에 따라 정규 매 칭 을 진행 합 니 다. 4. 마지막 으로 매 칭 / 유 니 버 설 매 칭 주의: 매 칭 이 성공 하면 즉시 매 칭 을 중단 합 니 다. 현재 매 칭 규칙 에 따라 처리 요청 합 니 다. 특히 주의: 문자열 매 칭 우선 검색 은 일치 하지만 가장 긴 매 칭 만 기록 합 니 다.(^ ~ 가장 긴 일치 라면 바로 명중 하고 정규 검색 을 중단 합 니 다) 그리고 정규 검색 을 계속 합 니 다. 정규 일치 가 있 으 면 명중 정규 가 일치 합 니 다. 정규 일치 가 없 으 면 가장 긴 문자열 이 일치 합 니 다.
 
명령 하 다.
service nginx restart  서 비 스 를 다시 시작 합 니 다 (일반 명령) (예: start | stop | restart).
sudo /etc/init.d/nginx reload  nginx 프로필 을 다시 불 러 옵 니 다.
 
보호 하 다
시스템 로그 보기 (일반 명령, 조작 기록 보기): journalctl - xe 
nginx 로그 파일 보기: / var / log / nginx 로 이동 하고 프로필 에 http 또는 server 에서 지정 한 로그 파일 을 설정 합 니 다.
 
일상적인 문제
한 번 은 정적 파일 설정 에 404 가 나타 나 는 것 을 발 견 했 습 니 다. 이해 가 되 지 않 았 습 니 다. 그리고 이 블 로그 nginx 를 찾 아 정적 파일 404 문 제 를 방문 하고 감청 포트 를 81 또는 다른 것 으로 바 꾸 면 됩 니 다. 왜 그런 지 모 르 겠 습 니 다.
 

좋은 웹페이지 즐겨찾기