HTTP Nginx インフラ

LinuxにNginxのインストール

2017年11月18日

Linuxにインストールする手順を紹介します。

普段はApacheを使用していますが、Webサーバ界ではNginxも利用シーンが多くてビックリしております。

※今回の手順はyumで実行します。


インストール環境

今回インストールするのは以下の環境です。

  • CentOS:CentOS Linux release 7.4.1708 (Core)
  • Nginx:nginx/1.12.2

インストール手順

コマンドは↓になります。

yum install nginx

↓実施ログになります。★マークの箇所はすべてに「y」+「Enterキー」をしましょう。

読み込んだプラグイン:fastestmirror, langpacks
Loading mirror speeds from cached hostfile
 * base: mirror.fairway.ne.jp
 * epel: ftp.riken.jp
 * extras: mirror.fairway.ne.jp
 * ius: mirror.team-cymru.org
 * updates: mirror.fairway.ne.jp
依存性の解決をしています
--> トランザクションの確認を実行しています。
---> パッケージ nginx.x86_64 1:1.12.2-1.el7 を インストール
--> 依存性の処理をしています: nginx-all-modules = 1:1.12.2-1.el7 のパッケージ: 1:nginx-1.12.2-1.el7.x86_64
--> 依存性の処理をしています: nginx-filesystem = 1:1.12.2-1.el7 のパッケージ: 1:nginx-1.12.2-1.el7.x86_64
--> 依存性の処理をしています: nginx-filesystem のパッケージ: 1:nginx-1.12.2-1.el7.x86_64
--> トランザクションの確認を実行しています。
---> パッケージ nginx-all-modules.noarch 1:1.12.2-1.el7 を インストール
--> 依存性の処理をしています: nginx-mod-http-geoip = 1:1.12.2-1.el7 のパッケージ: 1:nginx-all-modules-1.12.2-1.el7.noarch
--> 依存性の処理をしています: nginx-mod-http-image-filter = 1:1.12.2-1.el7 のパッケージ: 1:nginx-all-modules-1.12.2-1.el7.noarch
--> 依存性の処理をしています: nginx-mod-http-perl = 1:1.12.2-1.el7 のパッケージ: 1:nginx-all-modules-1.12.2-1.el7.noarch
--> 依存性の処理をしています: nginx-mod-http-xslt-filter = 1:1.12.2-1.el7 のパッケージ: 1:nginx-all-modules-1.12.2-1.el7.noarch
--> 依存性の処理をしています: nginx-mod-mail = 1:1.12.2-1.el7 のパッケージ: 1:nginx-all-modules-1.12.2-1.el7.noarch
--> 依存性の処理をしています: nginx-mod-stream = 1:1.12.2-1.el7 のパッケージ: 1:nginx-all-modules-1.12.2-1.el7.noarch
---> パッケージ nginx-filesystem.noarch 1:1.12.2-1.el7 を インストール
--> トランザクションの確認を実行しています。
---> パッケージ nginx-mod-http-geoip.x86_64 1:1.12.2-1.el7 を インストール
---> パッケージ nginx-mod-http-image-filter.x86_64 1:1.12.2-1.el7 を インストール
---> パッケージ nginx-mod-http-perl.x86_64 1:1.12.2-1.el7 を インストール
---> パッケージ nginx-mod-http-xslt-filter.x86_64 1:1.12.2-1.el7 を インストール
---> パッケージ nginx-mod-mail.x86_64 1:1.12.2-1.el7 を インストール
---> パッケージ nginx-mod-stream.x86_64 1:1.12.2-1.el7 を インストール
--> 依存性解決を終了しました。

依存性を解決しました

==============================================================================================================
 Package                                 アーキテクチャー   バージョン                 リポジトリー      容量
==============================================================================================================
インストール中:
 nginx                                   x86_64             1:1.12.2-1.el7             epel             529 k
依存性関連でのインストールをします:
 nginx-all-modules                       noarch             1:1.12.2-1.el7             epel              16 k
 nginx-filesystem                        noarch             1:1.12.2-1.el7             epel              17 k
 nginx-mod-http-geoip                    x86_64             1:1.12.2-1.el7             epel              23 k
 nginx-mod-http-image-filter             x86_64             1:1.12.2-1.el7             epel              26 k
 nginx-mod-http-perl                     x86_64             1:1.12.2-1.el7             epel              35 k
 nginx-mod-http-xslt-filter              x86_64             1:1.12.2-1.el7             epel              25 k
 nginx-mod-mail                          x86_64             1:1.12.2-1.el7             epel              53 k
 nginx-mod-stream                        x86_64             1:1.12.2-1.el7             epel              76 k

トランザクションの要約
==============================================================================================================
インストール  1 パッケージ (+8 個の依存関係のパッケージ)

総ダウンロード容量: 802 k
インストール容量: 1.9 M
Is this ok [y/d/N]: y ★←yを選択
Downloading packages:
警告: /var/cache/yum/x86_64/7/epel/packages/nginx-all-modules-1.12.2-1.el7.noarch.rpm: ヘッダー V3 RSA/SHA256 Signature、鍵 ID 352c64e5: NOKEY
nginx-all-modules-1.12.2-1.el7.noarch.rpm の公開鍵がインストールされていません
(1/9): nginx-all-modules-1.12.2-1.el7.noarch.rpm                                       |  16 kB  00:00:00
(2/9): nginx-mod-http-perl-1.12.2-1.el7.x86_64.rpm                                     |  35 kB  00:00:00
(3/9): nginx-mod-http-geoip-1.12.2-1.el7.x86_64.rpm                                    |  23 kB  00:00:01
(4/9): nginx-mod-http-xslt-filter-1.12.2-1.el7.x86_64.rpm                              |  25 kB  00:00:00
nginx-mod-http-image-filter-1. FAILED                                          54 kB/s | 355 kB  00:00:02 ETA
http://ftp.kddilabs.jp/Linux/packages/fedora/epel/7/x86_64/Packages/n/nginx-mod-http-image-filter-1.12.2-1.el7.x86_64.rpm: [Errno 14] HTTP Error 404 - Not Found
他のミラーを試します。
To address this issue please refer to the below knowledge base article

https://access.redhat.com/articles/1320623

If above article doesn't help to resolve this issue please create a bug on https://bugs.centos.org/

(5/9): nginx-mod-stream-1.12.2-1.el7.x86_64.rpm                                        |  76 kB  00:00:01
(6/9): nginx-filesystem-1.12.2-1.el7.noarch.rpm                                        |  17 kB  00:00:04
(7/9): nginx-mod-mail-1.12.2-1.el7.x86_64.rpm                                          |  53 kB  00:00:03
(8/9): nginx-1.12.2-1.el7.x86_64.rpm                                                   | 529 kB  00:00:06
(9/9): nginx-mod-http-image-filter-1.12.2-1.el7.x86_64.rpm                             |  26 kB  00:00:04
--------------------------------------------------------------------------------------------------------------
合計                                                                          109 kB/s | 802 kB  00:00:07
file:///etc/pki/rpm-gpg/RPM-GPG-KEY-EPEL-7 から鍵を取得中です。
Importing GPG key 0x352C64E5:
 Userid     : "Fedora EPEL (7) <epel@fedoraproject.org>"
 Fingerprint: 91e9 7d7c 4a5e 96f1 7f3e 888f 6a2f aea2 352c 64e5
 Package    : epel-release-7-9.noarch (@extras)
 From       : /etc/pki/rpm-gpg/RPM-GPG-KEY-EPEL-7
上記の処理を行います。よろしいでしょうか? [y/N]y ★←yを選択
Running transaction check
Running transaction test
Transaction test succeeded
Running transaction
  インストール中          : 1:nginx-filesystem-1.12.2-1.el7.noarch                                        1/9
  インストール中          : 1:nginx-mod-stream-1.12.2-1.el7.x86_64                                        2/9
  インストール中          : 1:nginx-mod-http-image-filter-1.12.2-1.el7.x86_64                             3/9
  インストール中          : 1:nginx-mod-http-xslt-filter-1.12.2-1.el7.x86_64                              4/9
  インストール中          : 1:nginx-mod-http-perl-1.12.2-1.el7.x86_64                                     5/9
  インストール中          : 1:nginx-mod-mail-1.12.2-1.el7.x86_64                                          6/9
  インストール中          : 1:nginx-1.12.2-1.el7.x86_64                                                   7/9
  インストール中          : 1:nginx-mod-http-geoip-1.12.2-1.el7.x86_64                                    8/9
  インストール中          : 1:nginx-all-modules-1.12.2-1.el7.noarch                                       9/9
  検証中                  : 1:nginx-mod-http-geoip-1.12.2-1.el7.x86_64                                    1/9
  検証中                  : 1:nginx-all-modules-1.12.2-1.el7.noarch                                       2/9
  検証中                  : 1:nginx-filesystem-1.12.2-1.el7.noarch                                        3/9
  検証中                  : 1:nginx-mod-stream-1.12.2-1.el7.x86_64                                        4/9
  検証中                  : 1:nginx-mod-http-image-filter-1.12.2-1.el7.x86_64                             5/9
  検証中                  : 1:nginx-mod-http-xslt-filter-1.12.2-1.el7.x86_64                              6/9
  検証中                  : 1:nginx-mod-http-perl-1.12.2-1.el7.x86_64                                     7/9
  検証中                  : 1:nginx-mod-mail-1.12.2-1.el7.x86_64                                          8/9
  検証中                  : 1:nginx-1.12.2-1.el7.x86_64                                                   9/9

インストール:
  nginx.x86_64 1:1.12.2-1.el7

依存性関連をインストールしました:
  nginx-all-modules.noarch 1:1.12.2-1.el7            nginx-filesystem.noarch 1:1.12.2-1.el7
  nginx-mod-http-geoip.x86_64 1:1.12.2-1.el7         nginx-mod-http-image-filter.x86_64 1:1.12.2-1.el7
  nginx-mod-http-perl.x86_64 1:1.12.2-1.el7          nginx-mod-http-xslt-filter.x86_64 1:1.12.2-1.el7
  nginx-mod-mail.x86_64 1:1.12.2-1.el7               nginx-mod-stream.x86_64 1:1.12.2-1.el7

完了しました!
[root@centos7-local ~]#

 

起動・停止方法

起動・停止やOS起動時の挙動設定をまとめました。

  • 起動コマンド
systemctl start nginx.service
  • 停止コマンド
systemctl stop nginx.service
  • OS起動時の自動起動有効化
systemctl disable nginx.service
  • OS起動時の自動起動無効化
systemctl disable nginx.service

 

インストール後の確認

まずはNginxと起動と自動起動設定を有効化しましょう。

systemctl srart firewalld
systemctl disable firewalld

↓が実施ログです。

[root@centos7-local ~]# systemctl start nginx.service
[root@centos7-local ~]# systemctl enable nginx.service
Created symlink from /etc/systemd/system/multi-user.target.wants/nginx.service to /usr/lib/systemd/system/nginx.service.
[root@centos7-local ~]#

Nginxを起動後、Webブラウザで「http://IPアドレス」と入力してアクセスしてみましょう。

私の環境はIPアドレスが192.168.56.101なので、「http://192.168.56.101/」となります。

下の画面が出力されればインストールが完了しました。

インストールしたがWebブラウザで繋がらない時は?

OSのセキュリティ設定によってはブラウザからアクセスできない場合があります。

そんな時はファイアウォールを無効化しましょう。

Centosの標準ファイアウォール「firewalld」を停止する手順は以下になります。

systemctl stop firewalld
systemctl disable firewalld

以下がファイアウォールの無効化実施ログです。

[root@centos7-local ~]# systemctl stop firewalld
[root@centos7-local ~]# systemctl disable firewalld
Removed symlink /etc/systemd/system/multi-user.target.wants/firewalld.service.
Removed symlink /etc/systemd/system/dbus-org.fedoraproject.FirewallD1.service.
[root@centos7-local ~]

 

関連記事

-HTTP, Nginx, インフラ

Copyright© shimidai2100 , 2020 All Rights Reserved.