Heim  >  Artikel  >  Betrieb und Instandhaltung  >  Was bedeutet Nginx-Hot-Update?

Was bedeutet Nginx-Hot-Update?

(*-*)浩
(*-*)浩Original
2019-06-06 13:37:104862Durchsuche

Beim Nginx-Hot-Update wird das Betriebssystem direkt aktualisiert, ohne die Software zu schließen. Während des Aktualisierungszeitraums wird die Software direkt verwendet. NginX übernimmt das Master/Worker-Mehrprozessmodell. Der Master-Prozess ist für die Verwaltung des gesamten NginX-Prozesses verantwortlich. Die Modularität, das Hot Update, der HTTP-Verarbeitungsablauf, die Protokollierung und andere Mechanismen von Nginx sind alle sehr klassisch.

Was bedeutet Nginx-Hot-Update?

Hot-Update der Konfiguration

Nachdem die NginX-Konfiguration geändert wurde, aktualisieren Sie sie, ohne den aktuellen Dienst zu beeinträchtigen.

Signal: HUP

Prozess: Unterteilt in Master-Teil und Worker-Teil.

Matser-Prozess:

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的进程进行发送信号。

Worker-Prozess:

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

Hinweis:

进程状态标识: 
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热更新。

Weitere technische Artikel zum Thema Nginx finden Sie in der Spalte Tutorials zur Nginx-Nutzung, um mehr darüber zu erfahren!

Das obige ist der detaillierte Inhalt vonWas bedeutet Nginx-Hot-Update?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Vorheriger Artikel:Was bedeutet nginx/1.12.2?Nächster Artikel:Was bedeutet nginx/1.12.2?