今更聞けないNginxのインストール方法 ~ゼロからのインストール~

2018年8月21日

全く持って今更なのですが

もー昔から散々Apacheで悪戦苦闘していたのですが(特にRewrite)
どうももっとシンプルな設定でらくちんなWebサーバがあるらしいと
聞きつけて見つけたのがnginxでした。
実際、色々設定してみるのですが、驚くほどシンプルで
WebサーバとしてはApacheの比じゃないほど軽い印象でした。

nginxをインストールする記事はあちこち見つけられると思いますが、
結構難しい言葉で書かれていたりして(まぁ昔はそういいサイトを見ながら設定しましたが)
なかなか取っつきにくい印象を持たれる方もいらっしゃるかも?

この記事がnginxっていうのがあるらしいけど、インストールどないすんねん?
という方に向けた記事となるように祈りつつ・・・・。

第一歩目は?

nginxはCentOSのリポジトリには登録されていません。
実はepelリポジトリに登録されているので
/etc/yum.repos.dディレクトリにrootユーザーになって
こんな感じでファイルを作成します。

# cat epel.repo ←epel.repoを表示しています。
[epel]
name=Extra Packages for Enterprise Linux 7 – $basearch
#baseurl=http://download.fedoraproject.org/pub/epel/7/$basearch
metalink=https://mirrors.fedoraproject.org/metalink?repo=epel-7&arch=$basearch
failovermethod=priority
enabled=0
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-EPEL-7

[epel-debuginfo]
name=Extra Packages for Enterprise Linux 7 – $basearch – Debug
#baseurl=http://download.fedoraproject.org/pub/epel/7/$basearch/debug
metalink=https://mirrors.fedoraproject.org/metalink?repo=epel-debug-7&arch=$basearch
failovermethod=priority
enabled=0
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-EPEL-7
gpgcheck=1

[epel-source]
name=Extra Packages for Enterprise Linux 7 – $basearch – Source
#baseurl=http://download.fedoraproject.org/pub/epel/7/SRPMS
metalink=https://mirrors.fedoraproject.org/metalink?repo=epel-source-7&arch=$basearch
failovermethod=priority
enabled=0
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-EPEL-7
gpgcheck=1

 

で、お次は?

もう簡単です。
yumコマンドでインストールできます。
本当にこれだけなんです。

#yum install nginx

さて、インストールが終わったらプロセスを起動するわけですが
これも簡単で、コマンド一発です。
ついでに自動起動もここでやってしまいましょう。

# systemctl start nginx
# systemcll enable nginx

 

おや?もう終わり??

Webブラウザでアクセスしてみるとこんな感じで
デフォルトのページが表示されれば完了となりますが
セキュリティー上の理由もあるので、とっとと消しちゃいましょう。
実体のファイルは、/usr/share/nginx/html に格納されています。

そうそう。大事なことを言い忘れていました。

nginxをインストールすると、nginxユーザーが作成されます。
nginxは基本的にrootユーザーで動作しません。
(その分セキュアなのです)
これが後々響いてきますので、覚えておいてください。
実際に起動している様子をご覧ください。
親プロセス以外はnginxユーザーで動いていることが
確認できると思います。

root 22479 1 0 14:24 ? 00:00:00 nginx: master process /usr/sbin nginx -c /etc/nginx/nginx.conf
nginx 22480 22479 0 14:24 ? 00:00:00 nginx: worker process
nginx 22481 22479 0 14:24 ? 00:00:00 nginx: worker process
nginx 22482 22479 0 14:24 ? 00:00:00 nginx: worker process
nginx 22483 22479 0 14:24 ? 00:00:00 nginx: worker process
nginx 22484 22479 0 14:24 ? 00:00:00 nginx: worker process
nginx 22485 22479 0 14:24 ? 00:00:00 nginx: worker process
nginx 22486 22479 0 14:24 ? 00:00:00 nginx: worker process
nginx 22487 22479 0 14:24 ? 00:00:00 nginx: worker process
nginx 22488 22479 0 14:24 ? 00:00:00 nginx: worker process
nginx 22489 22479 0 14:24 ? 00:00:00 nginx: worker process

 

さて、お次はphpをハンドリング出来るようにしましょうか。
どうせなら高速に動作できるように。