CentOS 7にNginx 1.12をインストール（SCL）

# はじめに

Software Collection(SCL)を利用してCentOS7にNginx1.12をインストール
親記事：[Nginxの各種インストール方法とEOLまとめ](https://qiita.com/witchcraze/items/df4a0baaaad9c932ea30)
参考：[Quick Start — Software Collections](https://www.softwarecollections.org/en/docs/)

## サポート

本手法で導入した場合、[Red Hat Software Collections Product Life Cycle - Red Hat Customer Portal](https://access.redhat.com/support/policy/updates/rhscl)より、2019-10がEOLだと思われる。
それ以降に報告された脆弱性や不具合への対応は実施されない可能性がある。

## LOG

### レポジトリ登録

```shell-session
# yum install -y centos-release-scl
```

### インストール

```shell-session
# cat /etc/redhat-release
CentOS Linux release 7.6.1810 (Core)

# yum install -y rh-nginx112 which
# scl enable rh-nginx112 bash
... 略
```

### nginx起動/停止

```shell-session
# systemctl start rh-nginx112-nginx
# systemctl status -l rh-nginx112-nginx
● rh-nginx112-nginx.service - The nginx HTTP and reverse proxy server
   Loaded: loaded (/usr/lib/systemd/system/rh-nginx112-nginx.service; disabled; vendor preset: disabled)
   Active: active (running) since Mon 2019-10-14 14:27:10 UTC; 5s ago
  Process: 268 ExecStart=/opt/rh/rh-nginx112/root/usr/libexec/nginx-scl-helper enable $RH_NGINX112_SCLS_ENABLED -- /opt/rh/rh-nginx112/root/usr/sbin/nginx (code=exited, status=0/SUCCESS)
  Process: 262 ExecStartPre=/opt/rh/rh-nginx112/root/usr/libexec/nginx-scl-helper enable $RH_NGINX112_SCLS_ENABLED -- /opt/rh/rh-nginx112/root/usr/sbin/nginx -t (code=exited, status=0/SUCCESS)
  Process: 255 ExecStartPre=/opt/rh/rh-nginx112/root/usr/libexec/nginx-scl-helper enable $RH_NGINX112_SCLS_ENABLED -- /usr/bin/scl_enabled rh-nginx112 (code=exited, status=0/SUCCESS)
  Process: 254 ExecStartPre=/usr/bin/rm -f /var/opt/rh/rh-nginx112/run/nginx/nginx.pid (code=exited, status=0/SUCCESS)
 Main PID: 274 (nginx)
   CGroup: /docker/2c69eef17f35aea1cd6e32dc5c453e44d51d93a8ef2d4d12ffd2dacc24f90bf5/system.slice/rh-nginx112-nginx.service
           tq274 nginx: master process /opt/rh/rh-nginx112/root/usr/sbin/nginx
           mq275 nginx: worker process
           ? 274 nginx: master process /opt/rh/rh-nginx112/root/usr/sbin/nginx

Oct 14 14:27:10 2c69eef17f35 systemd[1]: Starting The nginx HTTP and reverse proxy server...
Oct 14 14:27:10 2c69eef17f35 nginx-scl-helper[262]: nginx: the configuration file /etc/opt/rh/rh-nginx112/nginx/nginx.conf syntax is ok
Oct 14 14:27:10 2c69eef17f35 nginx-scl-helper[262]: nginx: configuration file /etc/opt/rh/rh-nginx112/nginx/nginx.conf test is successful
Oct 14 14:27:10 2c69eef17f35 systemd[1]: Failed to read PID from file /var/opt/rh/rh-nginx112/run/nginx/nginx.pid: Invalid argument
Oct 14 14:27:10 2c69eef17f35 systemd[1]: Started The nginx HTTP and reverse proxy server.
```

```shell-session
# systemctl stop rh-nginx112-nginx
# systemctl status -l rh-nginx112-nginx
● rh-nginx112-nginx.service - The nginx HTTP and reverse proxy server
   Loaded: loaded (/usr/lib/systemd/system/rh-nginx112-nginx.service; disabled; vendor preset: disabled)
   Active: inactive (dead)

Oct 14 14:27:10 2c69eef17f35 systemd[1]: Starting The nginx HTTP and reverse proxy server...
Oct 14 14:27:10 2c69eef17f35 nginx-scl-helper[262]: nginx: the configuration file /etc/opt/rh/rh-nginx112/nginx/nginx.conf syntax is ok
Oct 14 14:27:10 2c69eef17f35 nginx-scl-helper[262]: nginx: configuration file /etc/opt/rh/rh-nginx112/nginx/nginx.conf test is successful
Oct 14 14:27:10 2c69eef17f35 systemd[1]: Failed to read PID from file /var/opt/rh/rh-nginx112/run/nginx/nginx.pid: Invalid argument
Oct 14 14:27:10 2c69eef17f35 systemd[1]: Started The nginx HTTP and reverse proxy server.
Oct 14 14:27:40 2c69eef17f35 systemd[1]: Stopping The nginx HTTP and reverse proxy server...
Oct 14 14:27:40 2c69eef17f35 systemd[1]: Stopped The nginx HTTP and reverse proxy server.
```

### nginx自動起動設定/設定解除

```shell-session
# systemctl enable rh-nginx112-nginx
Created symlink from /etc/systemd/system/multi-user.target.wants/rh-nginx112-nginx.service to /usr/lib/systemd/system/rh-nginx112-nginx.service.

# systemctl list-unit-files --type=service |grep nginx
rh-nginx112-nginx.service              enabled
```

```shell-session
# systemctl disable rh-nginx112-nginx
Removed symlink /etc/systemd/system/multi-user.target.wants/rh-nginx112-nginx.service.

# systemctl list-unit-files --type=service |grep nginx
rh-nginx112-nginx.service              disabled
```

### 各種確認

```shell-session
# which nginx
/opt/rh/rh-nginx112/root/usr/sbin/nginx

# nginx -v
nginx version: nginx/1.12.1

# yum info rh-nginx112
Loaded plugins: fastestmirror, ovl
Loading mirror speeds from cached hostfile
 * base: ty1.mirror.newmediaexpress.com
 * centos-sclo-rh: ty1.mirror.newmediaexpress.com
 * centos-sclo-sclo: ty1.mirror.newmediaexpress.com
 * extras: ty1.mirror.newmediaexpress.com
 * updates: ty1.mirror.newmediaexpress.com
Installed Packages
Name        : rh-nginx112
Arch        : x86_64
Version     : 1.12
Release     : 3.el7
Size        : 0.0
Repo        : installed
From repo   : centos-sclo-rh
Summary     : Package that installs rh-nginx112
License     : GPLv2+
Description : This is the main package for rh-nginx112 Software Collection.
```