CentOS7にNginxをインストールする。

今回はCentOS7にNginxをインストールしていきます。

CentOS7にNginxをインストールする。

nginxのリポジトリ情報を登録する。

/etc/yum.repos.d/nginx.repoを開いたら下記のリポジトリ情報を記述して保存します。

# vi /etc/yum.repos.d/nginx.repo
[nginx]
name=nginx repo
baseurl=http://nginx.org/packages/centos/$releasever/$basearch/
gpgcheck=0
enabled=1

Nginxをインストールする。

リポジトリ情報を登録したらnginxをインストールします。

# yum install -y nginx
読み込んだプラグイン:fastestmirror
Loading mirror speeds from cached hostfile
* base: ftp.yz.yamagata-u.ac.jp
* epel: ftp.riken.jp
* extras: ftp.yz.yamagata-u.ac.jp
* updates: ftp.yz.yamagata-u.ac.jp
nginx | 2.9 kB 00:00:00
nginx/7/x86_64/primary_db | 35 kB 00:00:00
依存性の解決をしています
--> トランザクションの確認を実行しています。
---> パッケージ nginx.x86_64 1:1.14.0-1.el7_4.ngx を インストール
--> 依存性解決を終了しました。

依存性を解決しました

=======================================================================================================================================================================
Package アーキテクチャー バージョン リポジトリー 容量
=======================================================================================================================================================================
インストール中:
nginx x86_64 1:1.14.0-1.el7_4.ngx nginx 750 k

トランザクションの要約
=======================================================================================================================================================================
インストール 1 パッケージ

総ダウンロード容量: 750 k
インストール容量: 2.6 M
Downloading packages:
nginx-1.14.0-1.el7_4.ngx.x86_64.rpm | 750 kB 00:00:04
Running transaction check
Running transaction test
Transaction test succeeded
Running transaction
インストール中 : 1:nginx-1.14.0-1.el7_4.ngx.x86_64 1/1
----------------------------------------------------------------------

Thanks for using nginx!

Please find the official documentation for nginx here:
* http://nginx.org/en/docs/

Please subscribe to nginx-announce mailing list to get
the most important news about nginx:
* http://nginx.org/en/support.html

Commercial subscriptions for nginx are available on:
* http://nginx.com/products/

----------------------------------------------------------------------
検証中 : 1:nginx-1.14.0-1.el7_4.ngx.x86_64 1/1

インストール:
nginx.x86_64 1:1.14.0-1.el7_4.ngx

完了しました!

Nginx起動系コマンド。

Nginxの起動系コマンドは以下のものがあります。

# systemctl start nginx      ←nginxサービスをスタートさせる
# systemctl status nginx     ←nginxサービスの状況を確認する
# systemctl reload nginx     ←nginxサービスをリロードさせる
# systemctl restart nginx    ←nginxサービスをリスタートさせる
# systemctl stop nginx       ←nginxサービスを停止させる
# systemctl enable nginx     ←nginxサービスを自動起動させる
# systemctl disable nginx    ←nginxサービスの自動起動を停止させる

nginxサービスをスタートさせます。

# systemctl start nginx

この時点でエラーが出なければNginxは正常に起動していますが、正常に動作しているかステータスを確認することができます。

# systemctl status nginx
● nginx.service - nginx - high performance web server
Loaded: loaded (/usr/lib/systemd/system/nginx.service; disabled; vendor preset: disabled)
Active: active (running) since 水 2018-07-18 11:38:14 JST; 21min ago
Docs: http://nginx.org/en/docs/
Process: 80915 ExecStart=/usr/sbin/nginx -c /etc/nginx/nginx.conf (code=exited, status=0/SUCCESS)
Main PID: 80916 (nginx)
CGroup: /system.slice/nginx.service
tq80916 nginx: master process /usr/sbin/nginx -c /etc/nginx/nginx.conf
mq80917 nginx: worker process

7月 18 11:38:14 localhost.localdomain systemd[1]: Starting nginx - high performance web server...
7月 18 11:38:14 localhost.localdomain systemd[1]: PID file /var/run/nginx.pid not readable (yet?) after start.
7月 18 11:38:14 localhost.localdomain systemd[1]: Started nginx - high performance web server.

ここに表示されたステータスの内、2行目の●が緑であれば正常に起動している状態、赤であればエラーがあり正常に起動できていない状態、白であれば停止している状態を示します。

また、起動プロセスを表示するpsコマンドでも確認することができます。

# ps -aux | grep nginx
root 80916 0.0 0.0 46404 960 ? Ss 11:38 0:00 nginx: master process /usr/sbin/nginx -c /etc/nginx/nginx.conf
nginx 80917 0.0 0.2 48888 2248 ? S 11:38 0:00 nginx: worker process
root 81021 0.0 0.0 112720 980 pts/0 R+ 12:03 0:00 grep --color=auto nginx

Nginx自動起動の設定

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

firewalldのゾーン確認を行います。

# firewall-cmd --list-all-zones
block
target: %%REJECT%%
icmp-block-inversion: no
interfaces:
sources:
services:
ports:
protocols:
masquerade: no
forward-ports:
source-ports:
icmp-blocks:
rich rules:

dmz
target: default
icmp-block-inversion: no
interfaces:
sources:
services: ssh
ports:
protocols:
masquerade: no
forward-ports:
source-ports:
icmp-blocks:
rich rules:

drop
target: DROP
icmp-block-inversion: no
interfaces:
sources:
services:
ports:
protocols:
masquerade: no
forward-ports:
source-ports:
icmp-blocks:
rich rules:

external
target: default
icmp-block-inversion: no
interfaces:
sources:
services: ssh
ports:
protocols:
masquerade: yes
forward-ports:
source-ports:
icmp-blocks:
rich rules:

home
target: default
icmp-block-inversion: no
interfaces:
sources:
services: ssh mdns samba-client dhcpv6-client
ports:
protocols:
masquerade: no
forward-ports:
source-ports:
icmp-blocks:
rich rules:

internal
target: default
icmp-block-inversion: no
interfaces:
sources:
services: ssh mdns samba-client dhcpv6-client
ports:
protocols:
masquerade: no
forward-ports:
source-ports:
icmp-blocks:
rich rules:

public (active)
target: default
icmp-block-inversion: no
interfaces: ens33
sources:
services: ssh dhcpv6-client
ports:
protocols:
masquerade: no
forward-ports:
source-ports:
icmp-blocks:
rich rules:

trusted
target: ACCEPT
icmp-block-inversion: no
interfaces:
sources:
services:
ports:
protocols:
masquerade: no
forward-ports:
source-ports:
icmp-blocks:
rich rules:

work
target: default
icmp-block-inversion: no
interfaces:
sources:
services: ssh dhcpv6-client
ports:
protocols:
masquerade: no
forward-ports:
source-ports:
icmp-blocks:
rich rules:

zone状態は初期段階でpublicとなっていて、サービスはsshとdhcpv6-clientだけが有効になっている状態です。

# firewall-cmd --get-default-zone
public

# firewall-cmd --permanent --list-services
ssh dhcpv6-client

ここで一旦zoneを全てdropにして、sshとhttpとhttpsを開放するように設定します。

# firewall-cmd --set-default-zone=drop
# firewall-cmd --add-service=ssh --permanent
# firewall-cmd --add-service=http --permanent
# firewall-cmd --add-service=https --permanent

設定を反映させ、drop (active)の項目のserviceにsshとhttpが登録されていることを確認します。

# firewall-cmd --reload
drop (active)
target: DROP
icmp-block-inversion: no
interfaces: ens33
sources:
services: ssh http https
ports:
protocols:
masquerade: no
forward-ports:
source-ports:
icmp-blocks:
rich rules:

例えばサーバーのローカルIPアドレスが192.168.128.155だとした場合、
http://192.168.128.155/
をブラウザへ入力すると次のようなウェルカムページが表示されます。

nginxのインストールは以上となります。

この記事はいかがでしたか?
良かったらポチッとお願いします!励みになります!!


//