公式リポジトリを導入してインストール
Nginx公式のリポジトリを追加する。公式の説明はこちら。
リポジトリにはStable (安定版) とMainline (本線版) がある。アップデートの際に少しでも旧バージョンとの互換性を失いたくない場合はStable、そうでない場合はMainlineで良い。
リポジトリの定義をファイル化する。キーボード入力をcatコマンドで表示し、リダイレクトでファイル化する。最後はCtrl+Dで終了する。
# cd /etc/yum.repos.d/
# cat > nginx.repo
[nginx-mainline]
name=nginx mainline repo
baseurl=http://nginx.org/packages/mainline/centos/$releasever/$basearch/
gpgcheck=1
enabled=0
gpgkey=https://nginx.org/keys/nginx_signing.key
module_hotfixes=true
リポジトリの定義を作成したら、有効化する。
# dnf config-manager --enable nginx-mainline
キャッシュを更新して、試しにNginxの情報を表示してバージョンを確認してみる。
(記事執筆時点で最新バージョンは1.19.1)
# dnf makecache
# dnf info nginx
Last metadata expiration check: 0:00:06 ago on Wed 05 Aug 2020 02:08:46 PM UTC.
Available Packages
Name : nginx
Epoch : 1
Version : 1.19.1
Release : 1.el8.ngx
Architecture : x86_64
Size : 814 k
Source : nginx-1.19.1-1.el8.ngx.src.rpm
Repository : nginx-mainline
Summary : High performance web server
URL : http://nginx.org/
License : 2-clause BSD-like license
Description : nginx [engine x] is an HTTP and reverse proxy server, as well as
: a mail proxy server.
Nginxをインストールする。
# dnf install nginx
ファイアウォールの開通
OSのファイアウォールが動作している場合は、HTTP (ポート80) と必要に応じてHTTPS (ポート443) も穴開けをする。
クラウド環境だとOSの外部にファイアウォールがあったりするので、デフォルトで動作していなかったり、動作していても全ポート許可になっていたり、そうでなくてもネットワークインターフェースに対するゾーン名が異なる場合もあるため、まずはファイアウォールの動作状況を確認する。
以下の場合は、ファイアウォールがrunning (動作中) で、ネットワークインターフェースens192に対応するゾーン名がpublicとなる。
# firewall-cmd --state
running
# firewall-cmd --get-active-zone
public
interfaces: ens192
対応するゾーンにhttpとhttpsのサービスを追加し、ポート80と443を開放する。恒久設定とするためpermanentオプションを指定し、最後にreloadで実際に反映させる。
# firewall-cmd --permanent --zone=public --add-service=http
# firewall-cmd --permanent --zone=public --add-service=https
# firewall-cmd --reload
ファイアウォールの設定を行ったら、念のため状況を確認しておく。
# firewall-cmd --zone=public --list-all
public (active)
target: default
icmp-block-inversion: no
interfaces: ens192
sources:
services: cockpit dhcpv6-client http https ssh
ports:
protocols:
masquerade: no
forward-ports:
source-ports:
icmp-blocks:
rich rules:
サービス設定と起動
何らかの理由でNginxが落ちたら再起動してほしい場合は、systemdのNginxサービス定義に再起動条件を追加する。
OS標準エディタ (CentOS 8の場合はvi) が立ち上がるので、[Service] セクションとRestart定義の2行を追記して保存終了する。その後、systemctl daemon-reload
で設定を再読み込みする。
# systemctl edit nginx.service
[Service]
Restart=always
# systemctl daemon-reload
Nginxのサービスを起動し、OS起動時にNginxも自動起動するよう設定する。
# systemctl start nginx
# systemctl enable nginx
サービスを起動したら、念のため状況を確認しておく。
# systemctl status nginx -l
● nginx.service - nginx - high performance web server
Loaded: loaded (/usr/lib/systemd/system/nginx.service; enabled; vendor preset: disabled)
Drop-In: /etc/systemd/system/nginx.service.d
mqoverride.conf
Active: active (running) since Fri 2020-08-07 17:58:50 JST; 13min ago
Docs: http://nginx.org/en/docs/
Main PID: 1923 (nginx)
Tasks: 2 (limit: 24607)
Memory: 2.2M
CGroup: /system.slice/nginx.service
tq1923 nginx: master process /usr/sbin/nginx -c /etc/nginx/nginx.conf
mq1924 nginx: worker process
8月 07 17:58:50 hiyoko-test systemd[1]: Starting nginx - high performance web server...
8月 07 17:58:50 hiyoko-test systemd[1]: Started nginx - high performance web server.
コメント
[…] 7でも同様に動作するはずです。まだの方は、当サイトのCentOS 8に最新のNginxをインストールとCentOS […]