>운영 및 유지보수 >엔진스 >nginx 핫 업데이트는 무엇을 의미합니까?

nginx 핫 업데이트는 무엇을 의미합니까?

(*-*)浩
(*-*)浩원래의
2019-06-06 13:37:104972검색

nginx 핫 업데이트는 소프트웨어를 닫지 않고 운영 체제를 직접 업데이트하는 것으로, 업데이트 중에 소프트웨어를 직접 사용할 수 있습니다. NginX는 Master/Worker 다중 프로세스 모델을 채택합니다. 마스터 프로세스는 전체 NginX 프로세스의 관리를 담당합니다. Nginx의 모듈성, 핫 업데이트, HTTP 처리 흐름, 로깅 및 기타 메커니즘은 모두 매우 고전적입니다.

nginx 핫 업데이트는 무엇을 의미합니까?

구성 핫 업데이트

NginX 구성이 수정된 후 , 현재 서비스에 영향을 주지 않고 업데이트합니다.

시그널: HUP

프로세스: 마스터 파트와 워커 파트로 나누어집니다.

Matser 프로세스:

1> 通过ngx_signal_hanlder解析出获取的信号,置ngx_reconfigure=1,标识Master要进行配置热更新操作。

2> 调用ngx_init_cycle初始化新的cycle(重新加载nginx.conf以及各模块的初始化)。

3> 调用ngx_start_worker_process启动新的Worker子进程,子进程标识just_respwan=1(NGX_PROCESS_JUST_RESPAWN)表示刚启动,区分新旧进程。

4> 调用ngx_start_cache_manager启动新的cache manager子进程和cache loader子进程。子进程标识just_respawn=1(NGX_PROCESS_JUST_RESPAWN)表示刚启动,区分新旧进程。

5> 睡眠100毫秒之后,调用ngx_signal_worker_process优雅的关闭老的worker、cache manager和cache loader进程。注意:只向just_respawn=0的进程进行发送信号。

작업자 프로세스:

1> 通过ngx_signal_handler解析出为QUIT信号,置ngx_quit=1
2> 调用ngx_close_listening_sockets关闭监听端口。设置ngx_exting=1
3> 如果定时器红黑树中为空,执行ngx_worker_process_exit退出。

#🎜 🎜#참고:

进程状态标识: 
NGX_PROCESS_RESPAWN    ->     respawn =1   表示子进程退出后 执行重启操作。
NGX_ PROCESS_JUST_RESPAWN   ->   just_spawn = 1  respawn = 1     表示子进程为刚创建的进程,已区别与老的子进程 以及子进程退出后 执行重启操作。
NGX_PROCESS_JUST_SPAWN      ->        just_spawn =1             表示子进程为刚创建的进程,已区别与老的子进程 
NGX_PROCESS_DETACHED    -> detached = 1     没有亲缘关系,不需要建立通信信道   譬如Binary热更新。
더 많은 Nginx 관련 기술 기사를 보려면

Nginx 사용 튜토리얼 열을 방문하여 알아보세요!

위 내용은 nginx 핫 업데이트는 무엇을 의미합니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.