今回はCentOS7にNginxをインストールしていきます。
CentOS7にNginxをインストールする。
nginxのリポジトリ情報を登録する。
/etc/yum.repos.d/nginx.repoを開いたら下記のリポジトリ情報を記述して保存します。
1 2 3 4 5 6 |
# 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をインストールします。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 |
# 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の起動系コマンドは以下のものがあります。
[bash collapse=”false”] # 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サービスの自動起動を停止させる
[/bash]
nginxサービスをスタートさせます。
[bash collapse=”false”]# systemctl start nginx[/bash]
この時点でエラーが出なければNginxは正常に起動していますが、正常に動作しているかステータスを確認することができます。
[bash collapse=”false”] # 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.
[/bash]
ここに表示されたステータスの内、2行目の●が緑であれば正常に起動している状態、赤であればエラーがあり正常に起動できていない状態、白であれば停止している状態を示します。
また、起動プロセスを表示するpsコマンドでも確認することができます。
[bash collapse=”false”] # ps -aux | grep nginxroot 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
[/bash]
Nginx自動起動の設定
[bash collapse=”false”] # systemctl enable nginxCreated symlink from /etc/systemd/system/multi-user.target.wants/nginx.service to /usr/lib/systemd/system/nginx.service.
[/bash]
firewalldのゾーン確認を行います。
[bash collapse=”false”]# firewall-cmd –list-all-zones[/bash] [bash totle=”zone確認を表示する”] blocktarget: %%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:
[/bash]
zone状態は初期段階でpublicとなっていて、サービスはsshとdhcpv6-clientだけが有効になっている状態です。
[bash collapse=”false”] # firewall-cmd –get-default-zonepublic
[/bash]
[bash collapse=”false”] # firewall-cmd –permanent –list-services
ssh dhcpv6-client
[/bash]
ここで一旦zoneを全てdropにして、sshとhttpとhttpsを開放するように設定します。
[bash collapse=”false”] # firewall-cmd –set-default-zone=drop# firewall-cmd –add-service=ssh –permanent
# firewall-cmd –add-service=http –permanent
# firewall-cmd –add-service=https –permanent
[/bash]
設定を反映させ、drop (active)の項目のserviceにsshとhttpが登録されていることを確認します。
[bash collapse=”false”]# firewall-cmd –reload[/bash] [bash collapse=”false”] 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:
[/bash]
例えばサーバーのローカルIPアドレスが192.168.128.155だとした場合、
http://192.168.128.155/
をブラウザへ入力すると次のようなウェルカムページが表示されます。
nginxのインストールは以上となります。
コメント