Redhat 8.x に NodeJS、PM2、Docker、Ngnix をインストールする
序文
DevOps ツール スタックへの基本ツールのインストールは、NodeJS、PM2、Docker などの非常に一般的で重要な作業です。下
ノードのインストール
Node のインストール手順は次のとおりです:
Step1. gz インストール パッケージをダウンロードします。
cd ~/download
wget https://nodejs.org/dist/latest-v12.x/node-v12.22.12-linux-x64.tar.xz
Step2. Nodeのインストールディレクトリを作成する
VERSION=v12.22.12
DISTRO=linux-x64
sudo mkdir -p /usr/local/lib/nodejs
sudo tar -xJvf node-$VERSION-$DISTRO.tar.xz -C /usr/local/lib/nodejs
Step3 環境変数を設定する
。~/.profile
echo > ~/.profile
vim ~/.profile
上記の設定ファイル ~/.profile に次の設定を追加します。
# Nodejs
VERSION=v12.22.12
DISTRO=linux-x64
export PATH=/usr/local/lib/nodejs/node-$VERSION-$DISTRO/bin:$PATH
Step4 環境変数が有効になる
. ~/.profile
Step5 インストールが成功したかどうかを確認します
[root@iZ0jl7nhcg5nazavryytxkZ ~]# node -v
v12.22.12
[root@iZ0jl7nhcg5nazavryytxkZ ~]# npm -v
6.14.16
[root@iZ0jl7nhcg5nazavryytxkZ ~]# npx -v
6.14.16
[root@iZ0jl7nhcg5nazavryytxkZ ~]# npm version
{
npm: '6.14.16',
ares: '1.18.1',
brotli: '1.0.9',
cldr: '37.0',
http_parser: '2.9.4',
icu: '67.1',
llhttp: '2.1.4',
modules: '72',
napi: '8',
nghttp2: '1.41.0',
node: '12.22.12',
openssl: '1.1.1n',
tz: '2021a4',
unicode: '13.0',
uv: '1.40.0',
v8: '7.8.279.23-node.57',
zlib: '1.2.11'
}
pm2インストール
pm2 のインストールは比較的簡単で、次のコマンドを直接実行します。
[root@iZ0jl7nhcg5nazavryytxkZ ~]# npm install pm2 -g
npm WARN deprecated [email protected]: Please upgrade to version 7 or higher. Older versions may use Math.random() in certain circumstances, which is known to be problematic. See https://v8.dev/blog/math-random for details.
/usr/local/lib/nodejs/node-v12.22.12-linux-x64/bin/pm2 -> /usr/local/lib/nodejs/node-v12.22.12-linux-x64/lib/node_modules/pm2/bin/pm2
/usr/local/lib/nodejs/node-v12.22.12-linux-x64/bin/pm2-dev -> /usr/local/lib/nodejs/node-v12.22.12-linux-x64/lib/node_modules/pm2/bin/pm2-dev
/usr/local/lib/nodejs/node-v12.22.12-linux-x64/bin/pm2-docker -> /usr/local/lib/nodejs/node-v12.22.12-linux-x64/lib/node_modules/pm2/bin/pm2-docker
/usr/local/lib/nodejs/node-v12.22.12-linux-x64/bin/pm2-runtime -> /usr/local/lib/nodejs/node-v12.22.12-linux-x64/lib/node_modules/pm2/bin/pm2-runtime
npm WARN optional SKIPPING OPTIONAL DEPENDENCY: fsevents@~2.3.2 (node_modules/pm2/node_modules/chokidar/node_modules/fsevents):
npm WARN notsup SKIPPING OPTIONAL DEPENDENCY: Unsupported platform for [email protected]: wanted {
"os":"darwin","arch":"any"} (current: {
"os":"linux","arch":"x64"})
pm2 --version
5.2.2
Docker のインストール
Redhat Enterprise Edition に Docker をインストールするのは非常に簡単です。次のコマンド yum install docker を入力するだけです
。出力は次のようになります。
[root@iZ0jl7nhcg5nazavryytxkZ ~]# yum install docker
Red Hat Enterprise Linux 8 for x86_64 - AppStream from RHUI (RPMs) 30 MB/s | 52 MB 00:01
Red Hat Enterprise Linux 8 for x86_64 - BaseOS from RHUI (RPMs) 32 MB/s | 56 MB 00:01
Last metadata expiration check: 0:00:08 ago on Sun 05 Feb 2023 11:36:21 PM CST.
Dependencies resolved.
=============================================================================================================================================================================================================================================
Package Architecture Version Repository Size
=============================================================================================================================================================================================================================================
Installing:
podman-docker noarch 3:4.2.0-6.module+el8.7.0+17498+a7f63b89 rhui-rhel-8-for-x86_64-appstream-rhui-rpms 70 k
Upgrading:
podman x86_64 3:4.2.0-6.module+el8.7.0+17498+a7f63b89 rhui-rhel-8-for-x86_64-appstream-rhui-rpms 12 M
podman-catatonit x86_64 3:4.2.0-6.module+el8.7.0+17498+a7f63b89 rhui-rhel-8-for-x86_64-appstream-rhui-rpms 357 k
Transaction Summary
=============================================================================================================================================================================================================================================
Install 1 Package
Upgrade 2 Packages
Total download size: 13 M
Is this ok [y/N]: y
Downloading Packages:
(1/3): podman-catatonit-4.2.0-6.module+el8.7.0+17498+a7f63b89.x86_64.rpm 1.0 MB/s | 357 kB 00:00
(2/3): podman-docker-4.2.0-6.module+el8.7.0+17498+a7f63b89.noarch.rpm 187 kB/s | 70 kB 00:00
(3/3): podman-4.2.0-6.module+el8.7.0+17498+a7f63b89.x86_64.rpm 17 MB/s | 12 MB 00:00
---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
Total 15 MB/s | 13 MB 00:00
Running transaction check
Transaction check succeeded.
Running transaction test
Transaction test succeeded.
Running transaction
Preparing : 1/1
Running scriptlet: podman-catatonit-3:4.2.0-6.module+el8.7.0+17498+a7f63b89.x86_64 1/1
Upgrading : podman-catatonit-3:4.2.0-6.module+el8.7.0+17498+a7f63b89.x86_64 1/5
Upgrading : podman-3:4.2.0-6.module+el8.7.0+17498+a7f63b89.x86_64 2/5
Installing : podman-docker-3:4.2.0-6.module+el8.7.0+17498+a7f63b89.noarch 3/5
Cleanup : podman-2:4.1.1-2.module+el8.6.0+15917+093ca6f8.x86_64 4/5
Cleanup : podman-catatonit-2:4.1.1-2.module+el8.6.0+15917+093ca6f8.x86_64 5/5
Running scriptlet: podman-catatonit-2:4.1.1-2.module+el8.6.0+15917+093ca6f8.x86_64 5/5
Verifying : podman-docker-3:4.2.0-6.module+el8.7.0+17498+a7f63b89.noarch 1/5
Verifying : podman-3:4.2.0-6.module+el8.7.0+17498+a7f63b89.x86_64 2/5
Verifying : podman-2:4.1.1-2.module+el8.6.0+15917+093ca6f8.x86_64 3/5
Verifying : podman-catatonit-3:4.2.0-6.module+el8.7.0+17498+a7f63b89.x86_64 4/5
Verifying : podman-catatonit-2:4.1.1-2.module+el8.6.0+15917+093ca6f8.x86_64 5/5
Upgraded:
podman-3:4.2.0-6.module+el8.7.0+17498+a7f63b89.x86_64 podman-catatonit-3:4.2.0-6.module+el8.7.0+17498+a7f63b89.x86_64
Installed:
podman-docker-3:4.2.0-6.module+el8.7.0+17498+a7f63b89.noarch
Complete!
主要な Docker コマンドを実行します。
[root@iZ0jl7nhcg5nazavryytxkZ ~]# docker version
Emulate Docker CLI using podman. Create /etc/containers/nodocker to quiet msg.
Client: Podman Engine
Version: 4.2.0
API Version: 4.2.0
Go Version: go1.18.4
Built: Mon Dec 12 19:41:56 2022
OS/Arch: linux/amd64
Dockerを削除したい場合は以下のコマンドを実行します。
[root@iZ0jl7nhcg5nazavryytxkZ ~]# yum list installed | grep docker
podman-docker.noarch 3:4.2.0-6.module+el8.7.0+17498+a7f63b89 @rhui-rhel-8-for-x86_64-appstream-rhui-rpms
[root@iZ0jl7nhcg5nazavryytxkZ ~]# sudo yum -y remove podman-docker.noarch
Dependencies resolved.
=============================================================================================================================================================================================================================================
Package Architecture Version Repository Size
=============================================================================================================================================================================================================================================
Removing:
podman-docker noarch 3:4.2.0-6.module+el8.7.0+17498+a7f63b89 @rhui-rhel-8-for-x86_64-appstream-rhui-rpms 230
Transaction Summary
=============================================================================================================================================================================================================================================
Remove 1 Package
Freed space: 230
Running transaction check
Transaction check succeeded.
Running transaction test
Transaction test succeeded.
Running transaction
Preparing : 1/1
Erasing : podman-docker-3:4.2.0-6.module+el8.7.0+17498+a7f63b89.noarch 1/1
Verifying : podman-docker-3:4.2.0-6.module+el8.7.0+17498+a7f63b89.noarch 1/1
Removed:
podman-docker-3:4.2.0-6.module+el8.7.0+17498+a7f63b89.noarch
Complete!
たとえば、他のバージョンをインストールする場合は、最新バージョンの docker docker バージョン 20.10.1 をインストールします。「最新バージョンの docker docker バージョン 20.10.1 のインストール」を参照してください。
Nginxのインストール
yum install nginx
nginxを起動する
yum install nginx
nginxのステータスを表示する
systemctl status nginx