CentOS7に最新版のnginxをインストールする方法


nginx: Linux packages

CentOS 7 に最新版の nginx をインストールするには nginx 用のリポジトリを追加する必要があります。

上記リンクは公式サイトの解説ですが、そのままコピー・アンド・ペーストしても動作しないのでご注意ください。自分がインストールする Linux ディストリビューションとバージョンを書き換える必要があります。これに気が付かなくてハマってしまったのですが…。

さて、リポジトリを追加する方法は、以下のようにして vi エディタを使用して /etc/yum.repos.d/nginx.repo を追加します。

$ sudo vi /etc/yum.repos.d/nginx.repo

追加する内容は以下のようにします。

[nginx]
name=nginx repo
baseurl=http://nginx.org/packages/mainline/centos/7/$basearch/
gpgcheck=0
enabled=1

そして yum で nginx のパッケージをインストールします。

$ sudo yum install nginx

バージョンを確認します。

$ nginx -v
nginx version: nginx/1.13.9

うん。最新版で問題ありませんね。

では、nginx を起動して動作確認してみましょう。しかし、デフォルトでは firewalld が HTTP のポートを塞いでいるのでその前に開放する必要があります。ついでに、HTTPS のポートも開放します。

$ sudo firewall-cmd --zone=public --add-port=80/tcp --permanent
$ sudo firewall-cmd --zone=public --add-port=443/tcp --permanent
$ sudo firewall-cmd --reload

では、 nginx を起動します。

$ sudo systemctl start nginx

ついでに、OS 起動時に nginx が起動するように設定します。念のため設定が反映されたかも確認してみます。

$ sudo systemctl enable nginx
$ sudo systemctl list-unit-files | grep nginx
nginx-debug.service                           disabled
nginx.service                                 enabled

問題ないようですね。

では、ブラウザでアクセスしてみましょう。

f:id:fnyablog:20180909060801j:plain

問題ないですね。

ところで、nginx のドキュメントルートがどこにあるかですが、これが分かりにくくて、 /usr/share/nginx/htmlになります。設定は、/etc/nginx/conf.d/default.conf にあります。検索してもなかなか出てこないので参考にしてみてください。

これで nginx のインストールは完了です。

お疲れさまでした。