링크 ux 에서 Nginx 프로필 (nginx. conf) 설정 에 대한 자세 한 설명 (windows 용 phopstudy 통합)

8125 단어 nginx
링크 ux 백업 nginx. conf 파일 예:
cp /usr/local/nginx/nginx.conf /usr/local/nginx/nginx.conf-20171111(  )

프로 세 스 목록 에서 master 프로 세 스 를 찾 습 니 다. 번 호 는 주 프로 세 스 번호 입 니 다.
ps -ef | grep nginx

프로 세 스 보기
cat /usr/local/nginx/nginx.pid

nginx 파일 을 수정 할 때마다 프로필 Liux 명령 을 다시 불 러 옵 니 다.
/usr/local/nginx -t      //          

nginx. conf 가 pid 파일 저장 경 로 를 설정 하면 이 파일 은 Nginx 메 인 프로 세 스 번 호 를 pid 로 저장 합 니 다.
진행 과정 을 죽이다
kill -HUP /usr/local/nginx/nginx.pid 
kill -HUP     

여유 정지 Nginx 
kill -QUIT /usr/local/nginx/nginx.pid  
kill -QUIT     

빠 른 정지 Nginx
kill -TERM /usr/local/nginx/nginx.pid  
kill -TERM      

Nginx 강제 정지
kill -9 /usr/local/nginx/nginx.pid    
kill -9        

프로 세 스 가 같은 프로 세 스 이름 이면 pkill 명령 을 사용 할 수 있 습 니 다.
pkill  nginx 

여러 프로 세 스 가 같은 프로 세 스 이름 이면 Killall 명령 을 사용 할 수 있 습 니 다.
killall  nginx 

시동 을 걸다
/usr/local/nginx/sbin/nginx -c /usr/local/nginx/conf/nginx.conf

정지 / 다시 불 러 오기
/usr/local/nginx/nginx -s stop(quit,reload)

"http {}" 블록의 시작 은 프로필 의 시작 과 같이 표준 설정 입 니 다. 수정 할 필요 가 없습니다.여기 서 우 리 는 주의력 을 이 원소 들 에 두 어야 한다.
연결 시간 초과, 1 분, 구체 적 인 시간 은 요청 (예 를 들 어 배경 가 져 오기) 에 따라 설정 할 수 있 습 니 다.
keepalive_timeout  600; 

nginx 서버 를 사용 하여 timeou 상황 이 발생 하면 다음 과 같이 파 라 메 터 를 설정 할 수 있 습 니 다. fastcgi 를 사용 하 십시오.
fastcgi_connect_timeout 75;    
fastcgi_read_timeout 600;     
fastcgi_send_timeout 600;      

이 두 가지 옵션. fastcgiread_timeout 은 fastcgi 프로 세 스 가 nginx 프로 세 스에 response 를 보 내 는 전체 프로 세 스 의 시간 초과 fastcgi 를 말 합 니 다.send_timeout 은 nginx 프로 세 스 가 fastcgi 프로 세 스에 request 를 보 내 는 전체 프로 세 스 의 시간 초과 시간 을 말 합 니 다. 이 두 옵션 은 기본적으로 초 (s) 이 며 분 (m), 시간 (h) 등 으로 수 동 으로 지정 할 수 있 습 니 다.
buffer 메커니즘
FastCGI Server 에서 온 Response 에 대해 Nginx 는 메모리 에 버퍼 링 한 다음 클 라 이언 트 브 라 우 저 에 순서대로 보 냅 니 다.버퍼 크기 는 fastcgibuffers 와 fastcgibuffer_size 두 값 제어.예 를 들 어 다음 설정:
fastcgi_buffers      8 4K; #   nginx      8      4K     
fastcgi_buffer_size  4K; #   Response           ,       

총 생 성 할 수 있 는 최대 메모리 버퍼 크기 는 8 * 4K + 4K = 36k 입 니 다. Response 가 36k 보다 작 을 때 모든 데 이 터 는 당연히 메모리 에서 처 리 됩 니 다.Response 가 36k 이상 이면?fastcgi_temp 의 역할 은 바로 여기에 있다.더 나 온 데 이 터 는 파일 에 임시로 기록 되 어 이 디 렉 터 리 아래 에 놓 입 니 다.
fastcgi_busy_buffers_size #    fastcgi_buffers   。
fastcgi_temp_file_write_size #                ,    fastcgi_buffers   。

fastcgi_cache 는 FastCGI 캐 시 를 열 고 이름 을 지정 하 는 것 을 표시 합 니 다.캐 시 를 여 는 것 은 매우 유용 합 니 다. CPU 의 부 하 를 효과적으로 낮 추고 502 오류 의 발생 을 방지 할 수 있 습 니 다.그러나 캐 시 를 켜 는 것 도 많은 문 제 를 일 으 킬 수 있 으 므 로 구체 적 인 상황 에 따라 결정 해 야 한다.
fastcgi_cache_valid 는 응답 코드 의 캐 시 시간 을 지정 합 니 다.인 스 턴 스 의 값 은 200 과 302 응답 캐 시 를 한 시간, 301 응답 캐 시 를 1 일, 기타 응답 은 1 분 씩 캐 시 합 니 다.
gzip on 이 gizp 압축 을 사용 하 는 것 은 대가 가 없 는 것 이 아 닙 니 다.대역 폭 을 낮 추 는 동시에 CPU 사용 도 늘 렸 다.gzip_cop_level 의 매개 변수 수치 범위 1 - 9, 9 는 CPU 와 1 을 가장 많이 사용 하고 기본 값 은 1 입 니 다.
가상 컴퓨터 서버 설정 파일 예:
server {
        listen       80;  #listen    nginx      hostname,ip  tcp      。  ,http     80  
        server_name  host.hzgapi.com host.hzgapi.com; #               ,         ,  ip            
        root   "D:/www/hzgapi"; #              (  )
        location / {
            index  index.html index.htm index.php;
            #autoindex  on;
        }
        location ~ \.php(.*)$ {
            fastcgi_pass   127.0.0.1:9000;
          #fastcgi_pass  unix:/var/run/php-fpm/php-fpm.sock;
            #fastcgi_pass  unix:/tmp/php-cgi.sock;    
            fastcgi_index  index.php;
            fastcgi_split_path_info  ^((?U).+\.php)(/?.+)$;
            fastcgi_param  SCRIPT_FILENAME  $document_root$fastcgi_script_name;
            fastcgi_param  PATH_INFO  $fastcgi_path_info;
            fastcgi_param  PATH_TRANSLATED  $document_root$fastcgi_path_info;
            include        fastcgi_params;
        }
}

location 설정 은 특정한 요청 에 대해 nginx 가 location 와 일치 하면 처리 합 니 다.그러면 이 요청 의 응답 내용 은 이 location 블록 에 있 는 명령 에 의 해 결 정 됩 니 다.이 예 에서 중국어 파일 루트 (doucument root) 는 html / 디 렉 터 리 에 있 습 니 다.nginx 의 설치 디 렉 터 리 / usr / local / nginx (사용 하지 않 아 도 됩 니 다) 에 따 르 면 이 location 의 전체 경 로 는 / usr / local / nginx / html 입 니 다. index 명령 은 nginx 에 게 요청 에 파일 이름 이 없 으 면 어떤 자원 을 사용 하 는 지 알려 줍 니 다.
. php 로 끝 나 는 모든 요청 은 두 번 째 location 블록 으로 처 리 됩 니 다. 두 번 째 문장 블록 은 모든 요청 에 fastcgi 핸들 을 지정 합 니 다. 다른 요청 은 nginx 에서 첫 번 째 location 블록 으로 처 리 됩 니 다.
fastcgi pass 명령 Nginx 와 PHP - FPM 의 프로 세 스 간 통신 은 두 가지 방식 이 있 습 니 다. Nginx 에서 fastcgi pass 감청 포트 유 닉 스 socket 과 tcp socket 의 차이, TCP 와 유 닉 스 domain socket 방식 을 비교 합 니 다. TCP 는 TCP 포트 로 127.0.0.1: 9000 을 연결 합 니 다. phop 5.3 이상 버 전 은 TCP 를 socket 방식 으로 설정 하 는 방법 입 니 다. pp - fpm. conf (/ usr / local / phop / etc / phop - fpm. conf) 를 수정 합 니 다.직접 설치 파일 이 있 는 경로 에 따라:
;listen = 127.0.0.1:9000
listen = /dev/shm/php-cgi.sock

nginx 프로필 server 세그먼트 의 설정 을 수정 하고 http 방식 을 socket 방식 으로 변경 합 니 다. pp - fpm 와 nginx (centos 시스템 명령) 를 다시 시작 합 니 다.
service nginx restart
service php-fpm restart
ls -al /dev/shm

이론 적 으로 유 닉 스 socket 은 네트워크 에 걸 리 지 않 고 효율 이 높 지만 안정성 이 이상 적 이지 않다.
fastcgi param 명령 은 변 수 를 정의 하고 값 을 부여 합 니 다. fastcgi index 역할 영역: http, server, location. 요청 이 / 로 끝 날 때 설정 한 index. php 파일 에 요청 을 전달 합 니 다. fastcgi split path info 역할 영역: location. Nginx 기본 값 으로 PATH INFO 값 을 가 져 올 수 없습니다. fastcgi split path info 가 지정 한 정규 표현 식 을 통 해 $fastcgi path info 할당 입 니 다. 정규 표현 식 은 두 개의 캡 처 가 있어 야 합 니 다. 첫 번 째 캡 처 값 은 $fastcgi script name 변수 에 다시 할당 합 니 다. 두 번 째 캡 처 된 값 은 $fastcgi path info 변수 에 다시 할당 합 니 다. fastcgi param SCRIPT FILENAME $document root $fastcgi script name; / 스 크 립 트 파일 이 요청 한 경로 / 디 렉 터 리 $document root 의 인 자 는 root html 입 니 다.줄 정의, 기본 값 은 / etc / nginx / html / 이 므 로 html 를 사이트 루트 디 렉 터 리 로 바 꾸 면 정상 입 니 다. include 명령 은 파일 을 포함 합 니 다.
Nginx 가 실행 중인 사용자 와 사용자 그룹 을 정의 합 니 다. user ww ww;
nginx 프로 세 스 수 는 CPU 의 총 핵심 수 (스스로 정의 무시) 로 설정 하 는 것 을 권장 합 니 다. worker processes 8; 전역 오류 로그 정의 형식, [debug | info | notice | warn | error | crit] (자신의 정 의 는 무시 할 수 있 습 니 다) error log / usr / local / nginx / logs / error. log info;
프로 세 스 pid 파일 (직접 정의 에 따라 무시 할 수 있 습 니 다) pid / usr / local / nginx / logs / nginx. pid;

좋은 웹페이지 즐겨찾기