無料トライアルライセンスで OSSから NGINX Plusへの移行を検証してみよう
NGINX Plusの利用を検討している方のご参考になればと思っています。是非ご覧ください。
今回のブログでは、NGINXのオープンソースソフトウェア(以下、OSS版)から 有償版である NGINX Plus に移行する方法を紹介します。
NGINX Plus の 無料トライアルライセンス を活用することで、事前に OSS版から NGINX Plus に移行できるかを検証環境等で確認することが可能ですので、ぜひトライしてみてください。
無料トライアルライセンス申し込み
https://cn.teldevice.co.jp/product/f5-nginx/
それでは、早速、移行方法を紹介したいと思いますが、NGINX を提供しているメーカーのサイトに 注意事項がありますので、確認しておきたいと思います。
NGINX よくある質問(FAQ)
https://www.nginx.co.jp/resources/faq/
「NGINX Open Source版がすでにインストールされています。 NGINX Plusをインストールするとどうなりますか?」
簡単に記載すると、、、
・サードパーティのモジュールを使用している場合、移行後にNGINXサーバーの動作が異なる可能性があります。
・事前に既存のNGINX構成ファイルをバックアップすることをお勧めします。
上記以外にも、NGINXのバージョンが移行前と移行後で異なるとモジュールが読み込めずにNGINXのサービス自体が起動しないことがあります。そのため、モジュールを利用している場合には、移行後に同等の機能を持つ別のモジュールに置き替える、や、別手段での機能実現を検討することになります。
また、気になる現在の設定ファイルのインストール時の扱いですが、デフォルトで用意されている既存の以下の2つの設定ファイルは、新しい設定ファイルに置き替えるかどうかをインストール時に聞かれます。
・/etc/nginx/nginx.conf
・/etc/nginx/conf.d/default.conf
インストール時のnginx.confファイルの置き換えをどうするかの問い合わせ表示例
現在の設定ファイルをそのまま使う( ‘N’ を入力 )を選択した場合、プリセットされる予定のファイルは拡張子 .dpkg-dist (apt-getの場合)としてそれぞれ保存されます。以下は、パッケージマネージャー apt-get を使ってインストールした際に作成されたファイル一覧です。
まず、必ずインストールする前には現在の設定ファイルを保存してください。
以下はコマンドの例です。
$ sudo cp -ap /etc/nginx /etc/nginx-backup
$ sudo cp -ap /var/log/nginx /var/log/nginx-backup
また、NGINX Plusのライセンスファイルを事前に取得しておいてください。正規で購入するか、前述の「無料トライアルライセンス申し込み」でライセンスファイルを取得します。必要なライセンスファイルは、以下の2つです。
・nginx-repo.crt
・nginx-repo.key
さて、これからインストールですが、LinuxのOS種類によって、インストール方法が異なります。
・パッケージマネージャーの yum を使ってOSS版をインストールしていた場合には、yum swapコマンドでパッケージをインストールします。以下の公式サイトを参考にインストールします。
公式サイト(RHEL 8.1の場合)>Installing NGINX Plus on RHEL 8.1+, CentOS 8.1+, Oracle Linux 8.1
https://docs.nginx.com/nginx/admin-guide/installing-nginx/installing-nginx-plus/#installing-nginx-plus-on-rhel-81-centos-81-oracle-linux-81
上記のサイトに記載されている ステップ1から、順次実施しインストールしていきます。パッケージマネージャー yum で ‘sudo yum install nginx-plus’ という手順だけ以下に置き換えて実行します。
$ sudo yum swap nginx nginx-plus
・パッケージマネージャーの apt-get を使ってOSS版をインストールしていた場合には、NGINX Plusの新規インストールと同じ手順です。以下の公式サイトを参考にインストールします。
公式サイト(Ubuntuの場合) > Installing NGINX Plus on Ubuntu
https://docs.nginx.com/nginx/admin-guide/installing-nginx/installing-nginx-plus/#installing-nginx-plus-on-ubuntu
上記のサイトに記載されている ステップ1から、順次実施しインストールしていきます。
・ソースファイルからNGINX OSS版をインストールした場合は、NGINXサービスを手動で停止し、既存のNGINXバイナリを削除してから、各OSのパッケージマネージャーを使用してNGINX Plusをインストールします。
インストール後は、NGINXのバージョンを確認しましょう。
今回の例では、以下のようにOSS版は 1.20.2 でした。
NGINX Plus移行後 1.21.3 となり「 (nginx-plus-r25-p1) 」というシグネチャが追加されました。無事に NGINX Plus にアップグレードが出来ました。
$ nginx -v
無事にNGINX Plusにアップグレードが出来ましたので、NGINXサービスの稼働状況を確認しておきます。
$ sudo systemctl status nginx
*上記では、sudo service nginx status となっていますが、sudo systemctl status nginx でも同じ結果を得ることができます。
‘inactive (dead)’ と表示されていますのでサービスは停止しています。次のコマンドでサービスを起動させます。
$ sudo systemctl start nginx
コマンド実行後は、status を再度確認します。’active (running)’ と表示されればサービスは起動しています。
$ sudo systemctl status nginx
*上記では、sudo service nginx status となっていますが、sudo systemctl status nginx でも同じ結果を得ることができます。
サービス起動に失敗した場合には、設定ファイルの見直し等の作業が発生します。/etc/nginx/nginx.conf の記載内容や /etc/nginx/conf.d/配下の設定ファイルの内容を確認してみてください。一度、設定ファイルをプリセットされる設定ファイルだけでサービスの起動確認をしてみても良いかも知れません。
うまくNGINX Plusにアップグレードはできましたでしょうか。
NGINX Plusでしか使えない機能に関しては次のメーカーのサイトで確認できます。是非、NGINX Plusの世界を堪能ください。
NGINX PlusとNGINX OSSの機能比較一覧
https://www.nginx.co.jp/products/products-nginx/#compare-versions
NGINX Plusを選択するポイントを TED-CNブログ に載せていますので、こちらも合わせてご参照ください。
TED-CNブログ
「 NGINX Plusを選択するポイントとは 」
今後も関連する記事を書いていきますのでご要望等があればご連絡ください。