背景:負荷分散テストサーバーの nginx バージョンが低すぎてセキュリティ上の脆弱性があるため、関連する脆弱性修復情報を照会した後、脆弱性を修復するために nginx バージョンをアップグレードする必要があります。 Nginx スムーズ アップグレード ソリューション1. このケースで使用したバージョンの紹介 古いバージョン nginx-1.12.2.tar.gz 新しいバージョン nginx-1.20.1.tar.gz 2. 現在実行中のバージョンはnginx-1.12.2です ポート 8080 を設定し、ホームページの index.html を変更します。スムーズなアップグレード後も引き続きアクセスできます。 3. 新しいバージョンのnginx-1.20.1.tar.gzを解凍し、コンパイルして古いバージョンのnginx-1.12.2のディレクトリにインストールし、元のnginx.conf設定ファイルを実行して、次のように実行します。 ./configure --prefix=/usr/local/nginx-1.12.2 --conf-path=/usr/local/nginx-1.12.2/nginx.conf --pid-path=/usr/local/nginx-1.12.2/nginx.pid --user=ngadm --group=ngadm --with-http_stub_status_module --without-http_rewrite_module 作成 && インストール 4. 完了すると、バージョン 1.20.1 は元の sbin ディレクトリに新しい nginx バイナリ ファイルを自動的に生成し、古い nginx は自動的に nginx.old に置き換えられます。 5. スムーズなアップグレード Nginx はプロセスに対して非常に強力な制御機能を備えており、シグナル命令を通じてプロセスを制御できます。よく使用される信号は次のとおりです。
nginx プロセス制御信号に従って、次のように実行します。 kill -USR2 38323 (古いプロセスのPIDは38323です) ps -ef |grep nginx 新しいマスター プロセスに切り替えて、古いワーカー プロセスを閉じます。古いマスター プロセスはまだ存在することに注意してください。次のように実行します。 kill –WINCH 38323 (古いプロセスのPIDは38323です) ps -ef |grep nginx 現在のバージョンを確認する nginx を再起動する アップグレードは正常に完了しました。 注意: この時点で、新しいバージョンの nginx のマスター PID は 41063 です。同時に、古いバージョンのマスター プロセス (古いプロセス PID は 38323) も存在します。ロールバックする必要がない場合は、次のようにして古いプロセスの終了操作を実行できます。 終了 –QUIT 38323 フォールバック手順ロールバック操作には 2 種類あります。 1. 事前に古いバージョンの nginx をバックアップします。問題がある場合は、古いバージョンを /usr/local ディレクトリにコピーし、古いバージョンの nginx を再起動します。次のように実行します。 nginx をキルする nginx-1.12.2 をコピーします。 /usr/local/nginx-1.12.2/sbin/nginx –c /usr/local/nginx-1.12.2/nginx.conf nginx のステータスを確認する ps –ef |grep nginx 2. 新しいバージョンの nginx のマスター プロセスと古いバージョンのマスター プロセスが同時に存在する場合は、以下を実行します。 マスタープロセスの古いバージョンに戻す kill -HUP 古いマスターPID 新しいバージョンの nginx のマスター プロセスを閉じ、元の sbin ディレクトリにある nginx.old (古いバージョンの nginx バイナリ ファイル) を nginx に戻して、nginx を管理します。 kill -WINCH 新しいマスターPID kill -QUIT 新しいマスターPID cp /usr/local/nginx-1.12.2/sbin/nginx.old /usr/local/nginx-1.12.2/sbin/nginx nginxのバージョンが元のバージョンに戻ったことを再度確認します nginx を再起動する 要約するNginx バージョンのスムーズなアップグレードソリューションに関するこの記事はこれで終わりです。Nginx バージョンのスムーズなアップグレードに関する関連コンテンツの詳細については、123WORDPRESS.COM の以前の記事を検索するか、以下の関連記事を引き続き参照してください。今後とも 123WORDPRESS.COM をよろしくお願いいたします。 以下もご興味があるかもしれません:
|
>>: MYSQL row_number() および over() 関数の詳細な使用方法
1. SSHリモート管理SSH はセキュア チャネル プロトコルであり、主にリモート ログイン、リモ...
VMware で仮想マシンを作成し、Redhat Linux オペレーティング システムをインスト...
目次1. 準備1. 環境を整える2. インストール方法3. ネットワークカードの構成2. インストー...
MySQLテーブルの自動インクリメント列の初期値をリセットする方法1. 問題の説明MySQL データ...
echartsワードクラウドはechartsの拡張版ですhttps://echarts.apache...
Docker コンテナはサービスを提供し、ポート 8888 をリッスンします。外部からアクセスできる...
この記事では、Docker で新しいイメージを手動で構築する方法を紹介し、皆さんと共有します。詳細は...
公式ドキュメント: JSON 関数名前説明JSON_APPEND() JSONドキュメントにデータを...
目次執筆の背景プロジェクトの説明事前準備注記執筆の背景以前のプロジェクトではTencent Maps...
目次1. はじめに2. 使用方法ステートレスコンポーネントステートフルコンポーネント制御コンポーネン...
テーブルの基本構文<table>...</table> - テーブルを定義し...
概要連合接続データセットキーワードは、2つのクエリ結果セットを1つに連結し、同一のレコードを除外する...
導入2日前に見た問題について詳細に書きます。バイトコンピューターがバイナリに基づいていることは誰もが...
ご存知のとおり、SSH は現在、リモート ログイン セッションやその他のネットワーク サービスにセキ...
データベースの移行は、よく遭遇する問題です。データ量が少ない場合、移行は基本的に問題になりません。実...