search
LoginSignup
57

More than 3 years have passed since last update.

posted at

updated at

EC2にyumでNginxをインストールしようとしたらできなかった話

EC2インスタンスを作成したときにをNginxをインストールしようとしたら
インストール方法が思ってたのと違ったというお話になります。

3行で

  • Amazon Linux 2(AL2)だったからyumでNginxが提供されてなかった
  • Extrasリポジトリで提供されるNginxをインストールした
  • Nginxを起動しブラウザ表示できた

Nginxをインストールする

linuxならyumでインストールだよなって事でインストールを試みる

$ sudo yum update
$ sudo yum install nginx
読み込んだプラグイン:extras_suggestions, langpacks, priorities, update-motd
パッケージ nginx は利用できません。
エラー: 何もしません


nginx is available in Amazon Linux Extra topic "nginx1.12"

To use, run
# sudo amazon-linux-extras install nginx1.12

Learn more at
https://aws.amazon.com/amazon-linux-2/faqs/#Amazon_Linux_Extras

なんだ…と…!?
どうやら、AL2だとyum向けパッケージが提供されていないようです。

ということでエラーメッセージにもある通りExtrasレポジトリで提供されるNginxをインストールしましょう

$ sudo amazon-linux-extras install nginx1.12

完了しました!
  0  ansible2                 available  [ =2.4.2 ]
  1  emacs                    available  [ =25.3 ]
  2  memcached1.5             available  [ =1.5.1 ]
  3  nginx1.12=latest         enabled    [ =1.12.2 ]
  4  postgresql9.6            available  [ =9.6.6  =9.6.8 ]
  5  postgresql10             available  [ =10 ]
  6  python3                  available  [ =3.6.2 ]
  7  redis4.0                 available  [ =4.0.5  =4.0.10 ]
  8  R3.4                     available  [ =3.4.3 ]
  9  rust1                    available  \
        [ =1.22.1  =1.26.0  =1.26.1  =1.27.2 ]
 10  vim                      available  [ =8.0 ]
 11  golang1.9                available  [ =1.9.2 ]
 12  ruby2.4                  available  [ =2.4.2  =2.4.4 ]
 13  nano                     available  [ =2.9.1 ]
 14  php7.2                   available  [ =7.2.0  =7.2.4  =7.2.5 ]
 15  lamp-mariadb10.2-php7.2  available  \
        [ =10.2.10_7.2.0  =10.2.10_7.2.4  =10.2.10_7.2.5 ]
 16  libreoffice              available  [ =5.0.6.2_15 ]
 17  gimp                     available  [ =2.8.22 ]
 18  docker=latest            enabled    [ =17.12.1  =18.03.1 ]
 19  mate-desktop1.x          available  [ =1.19.0  =1.20.0 ]
 20  GraphicsMagick1.3        available  [ =1.3.29 ]
 21  tomcat8.5                available  [ =8.5.31 ]

nginx1.12がenabledになってますね。
(dockerは入れたつもりがないですがenabledとなってますけどまぁ良いでしょう)

バージョンの確認も問題なくできますね。

$ nginx -v
nginx version: nginx/1.12.2

Nginxの起動確認

Nginxを起動しデフォルトページをブラウザで確認します

Nginxを起動

Nginxを起動しましょう。念の為に起動確認もします。

# 起動前確認
$ ps aux | grep nginx
ec2-user 32469  0.0  0.0 119484   980 pts/0    S+   02:52   0:00 grep --color=auto nginx

# 起動
$ sudo service nginx start
Redirecting to /bin/systemctl start nginx.service

# 起動を確認
$ ps aux | grep nginx
root     32491  0.0  0.2 123740  2184 ?        Ss   02:52   0:00 nginx: master process /usr/sbin/nginx
nginx    32492  0.0  0.3 124196  4000 ?        S    02:52   0:00 nginx: worker process
ec2-user 32494  0.0  0.0 119484   936 pts/0    S+   02:53   0:00 grep --color=auto nginx

起動後にnginxが表示されてるのでokですね。

Nginxのデフォルトページをブラウザで確認

AWSのEC2コンソール > インスタンスを開いて起動中のインスタンスの「IPv4 パブリック IP」をコピーします。
qiita_1.png

ブラウザからインスタンスのパブリックIPにアクセスして下記のような画面が表示されれば確認完了
http://自分のインスタンスパブリックIP
スクリーンショット 2018-08-29 12.19.32.png

おまけ

インスタンス立ち上げるたびにNginxを起動するのは面倒なので自動起動させると楽です

$ sudo chkconfig nginx on

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
What you can do with signing up
57