LoginSignup
1
1

More than 1 year has passed since last update.

EC2にnginxをインストールしてみる

Last updated at Posted at 2022-06-10

はじめに

業務でEC2にnginxをインストールする機会があったので、注意点を踏まえて動作確認までやっていきます。

※2022年6月9日時点の内容です。


nginxについて

「nginx」とは、フリーのWebソフトウェアで、Apacheのシェアを抜いて、現在では最も使用されているWebサーバである。


作業について

今回は作業に当たり以下を使用
・Amazon Linux2(事前に作成済み)
・AWS CloudShell(お好みのSSHクライアントでOK)


手順

① CloudShellを起動

image.png

② EC2へ接続

SSHクライアントでインスタンスにSSH接続を実施する。

$ ssh -i xxxx.pem ec2-user@対象EC2のIPアドレス(or DNS)

※うまく接続できない場合はセキュリティグループの設定等を再確認してください。

③ 利用可能なソフトウェアパッケージ (トピック) を確認

amazon-linux-extrasリポジトリから、利用可能なトピックを確認する。

参考:https://aws.amazon.com/jp/premiumsupport/knowledge-center/ec2-install-extras-library-software/

$ amazon-linux-extras
  0  ansible2                 available    \
        [ =2.4.2  =2.4.6  =2.8  =stable ]
  2  httpd_modules            available    [ =1.0  =stable ]
  3  memcached1.5             available    \
        [ =1.5.1  =1.5.16  =1.5.17 ]
  5  postgresql9.6            available    \
        [ =9.6.6  =9.6.8  =stable ]

・・・・略
 38  nginx1                   available    [ =stable ]

・・・・略

※注意
amazon-linux-extrasパッケージがインストールされていない場合、yumコマンドを使用してインストールする。

$ sudo yum install -y amazon-linux-extras

④ nginxのインストール

以下の通り、nginxのインストールを実施する。
※nginxの後に1を付け忘れてしまうとイントールがうまくいかないので注意!!

$ sudo amazon-linux-extras install nginx1

⑤ nginxがインストールされたか確認

Version確認でインストールされたnginxを確認。
以下のようにVersionが表示されていればインストールはOK!

$ nginx -v
nginx version: nginx/1.20.0

ただし、この時点でnginxは起動していないので注意!(念のためステータス確認… inactive (dead)!やはり起動していませんね)

$ systemctl status nginx
● nginx.service - The nginx HTTP and reverse proxy server
   Loaded: loaded (/usr/lib/systemd/system/nginx.service; disabled; vendor preset: disabled)
   Active: inactive (dead)

⑥ 初期設定ファイルをバックアップ

初期設定ファイルのバックアップを取るため、まずはnginx.confファイルの格納場所を確認。

$ sudo find / -name *nginx.conf
/etc/nginx/nginx.conf ←メイン設定ファイル
/etc/nginx/nginx.conf.default ←デフォルトサーバの設定ファイル
/var/lib/pcp/pmdas/nginx/nginx.conf

上記の「/etc/nginx/nginx.conf」を念のため、バックアップを取っておきましょう。(方法は省略)

⑦ nginx起動と確認

nginxの起動を実施

$ sudo systemctl start nginx

そしてステータス確認・・・active (running)!!

$ systemctl status nginx
● nginx.service - The nginx HTTP and reverse proxy server
   Loaded: loaded (/usr/lib/systemd/system/nginx.service; disabled; vendor preset: disabled)
   Active: active (running) since Fri 2022-06-10
・・・略

⑧ 動作確認してみよう!

1.ブラウザでの確認
適当なブラウザでEC2接続時に使用したIPアドレス(or DNS)に接続
image.png
上記な画面が出たら動作確認OK!

2.HTTPレスポンスヘッダーの取得

$ curl -I localhost
HTTP/1.1 200 OK
Server: nginx/1.20.0
Date: Fri, 10 Jun 2022 02:44:33 GMT
Content-Type: text/html
・・・略

上記でもきちんとServerがnginxなってますね!

おまけ

以下の通り、サーバ起動時にnginxプロセスも立ち上がるようになっていません。

$ ystemctl list-unit-files | grep nginx
nginx.service                                 disabled

そこでサーバ起動時にNginxプロセスも立ち上がるように以下実施していきましょう!

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

そして確認・・・

systemctl list-unit-files | grep nginx
nginx.service                                 enabled

無事に「enabled」になりましたね!これでサーバ起動時にnginxプロセスも立ち上がるようになってます!

さいごに

最後まで閲覧いただき、ありがとうございました!
Apacheを使用している環境もまだまだ多いと思いますが、nginxについての知識は覚えておくべきものかと思います!
設定等、細かい内容については今後の記事で触れていく予定ですので気長にお待ちください!

1
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
1