[Nginx 1] Nginx 설치 및 전체 소개

3764 단어 Nginx
Nginx 시작, 정지, 다시 불 러 오기
nginx              Nginx   ,       u
nginx -s stop      (  )  Nginx   
nginx -s quit         Nginx   
nginx -s reload      Nginx        
nginx -s reopen      Nginx    

 
  • nginx - s quit 우아 하 게 Nginx 서버 를 닫 는 것 은 모든 작업 자 프로 세 스 가 처리 되 지 않 은 요청 을 기다 린 후에 닫 는 것 을 말한다
  • 문제: reopen 에서 Nginx 로그 파일 을 다시 여 는 것 은 무슨 뜻 입 니까?의 미 는 어디 에 있 습 니까?즉, 이 명령 이 미 치 는 영향 은 무엇 입 니까?

  •  
    주 프로 세 스 와 작업 프로 세 스
     Nginx 의 작업 모드 는 다 중 프로 세 스 작업 모드 입 니 다. 주 프로 세 스 와 작업 자 프로 세 스 로 나 뉘 며, 주 프로 세 스 는 설정 파일 과 관리자 프로 세 스 를 유지 합 니 다.작업 자 프로 세 스 는 응답 요청 을 담당 합 니 다. 주 프로필 nginx. conf (보통 / usr / local / nginx / conf) 파일 에 작업 프로 세 스 수 를 설정 할 수 있 습 니 다. 작업 프로 세 스 수 는 물리 장치 의 CPU 핵 수 와 같 습 니 다. 다음 설정 작업 프로 세 스 수 는 1 입 니 다.
     
    worker_processes  1;

     
    Nginx 서버 시작
  • nginx 로 Nginx 서버 시작
  • ps - ef | grep nginx 를 통 해 다음 과 같은 프로 세 스 정 보 를 얻 을 수 있 습 니 다
  •  
    root     31323     1  0 22:20 ?        00:00:00 nginx: master process ./nginx
    nobody   31324 31323  0 22:20 ?        00:00:00 nginx: worker process
    tom  31329 13070  0 22:21 pts/0    00:00:00 grep --color=auto nginx
     
    설명:
  • 이때 worker process 의 모든 소유 자 는 nobody 이 고 master process 의 소유 자 는 root 이 며 tom 은 현재 사용자 입 니 다.nobody 는 주 프로필 에 설정 되 어 있 습 니 다. 설정 하지 않 으 면 nobody
  • 입 니 다.
    #user  nobody;
  •  작업 자 프로 세 스 는 주 프로 세 스 의 하위 프로 세 스
  •  
    주 프로 세 스 PID (nginx. pid)
    Nginx 가 시작 되면 Nginx 메 인 프로 세 스 의 id 번 호 는 nginx. pid 파일 에 기 록 됩 니 다. nginx. pid 파일 이 있 는 디 렉 터 리 는 / usr / local / nginx / logs 입 니 다.이 id 번 호 는 Nginx 에서 설정 을 다시 불 러 올 때 사용 합 니 다. 이 를 통 해 Nginx 는 모든 하위 프로 세 스 (즉 작업 자 프로 세 스) 를 kill 한 다음 다시 시작 할 수 있 습 니 다.
     
     
    Nginx 프로필 의 구조
    Nginx 는 Apache 와 마찬가지 로 모듈 (Modules) 로 구 성 된 기능 을 제공 합 니 다. 이 모듈 들 은 설정 파일 의 명령 (Directive) 에 의 해 제 어 됩 니 다.Nginx 에서 명령 은 두 가지 로 나 뉘 는데 하 나 는 간단 한 명령 이 고 하 나 는 블록 명령 이다.
  • 간단 한 명령 (Simple Directive)
  •        간단 한 명령 은 명령 이름과 몇 개의 매개 변수 로 구성 되 어 있 으 며, 그들 사 이 는 빈 칸 으로 분리 되 어 마지막 으로 분점 으로 끝난다.예 를 들 어 아래 내용 중 include, defaulttype 은 모두 간단 한 명령 명 입 니 다.
          
    http {
        include       mime.types;
        default_type  application/octet-stream;
    
        #log_format  main  '$remote_addr - $remote_user [$time_local] "$request" '
        #                  '$status $body_bytes_sent "$http_referer" '
        #                  '"$http_user_agent" "$http_x_forwarded_for"';
    
        #access_log  logs/access.log  main;
    
        sendfile        on;
        #tcp_nopush     on;
    
        #keepalive_timeout  0;
        keepalive_timeout  65;
    

      
     
  • 블록 명령 (Block Directive)
  •        블록 명령 과 간단 한 명령 은 비슷 한 구 조 를 가지 고 있 습 니 다. 간단 한 명령 은 분점 으로 끝 나 는 것 이 고 블록 명령 은 {} 으로 묶 인 조작 명령 (instructions) 의 예 를 들 어 설명 합 니까?아래 의 예 는 사실 문맥 이다.
           
            location / {
                root   html;
                index  index.html index.htm;
            }
    

        
     
  • 상하 문 (Context)
  •       블록 명령 이 끝 나 는 {} 에 다른 명령 이 포함 되 어 있다 면 이 명령 을 문맥 이 라 고 합 니 다.예 를 들 어 이벤트, http, location, server.설정 파일 에 서 는 모든 Context 에 부모 급 Context 가 있 습 니 다. 최상 위 이벤트 와 http context 의 부모 context 는 main (main 은 실제 존재 하 는 Context 가 아 닙 니 다) 이 고 server 의 부모 급 context 는 http 이 며 location 의 부모 급 context 는 server 입 니 다.
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     

    좋은 웹페이지 즐겨찾기