LoginSignup
0
0

APサーバーが起動していなかった話

Last updated at Posted at 2023-06-23

はじめに

今回は、Ruby on RailsのアプリケーションをsystemdとPumaで起動する方法についてお話ししたいと思います。この内容は、私がうっかりやってしまったミスとその解決法を共有することを目的としています。

なぜ起動していなかったのか?

タイトルを冒頭から回収していきますが、EC2をどこかのタイミングで再起動していました。その時にPumaを立ち上げるのを忘れていて(←ここ重要)、そのままなんで繋がらないのかをあれこれ考えていました。結局単純なミスなのに、もっと重大なことが起こってしまったのではないかと全然違うところを見て回っていました。

どのように対策したか

こちらのQiita記事を参考にさせて頂きました。

1. Pumaの自動起動用ファイルを作成する

puma.service
[Unit]
Description=Puma AP Server
After=network.target


[Service]
Type=notify
WatchdogSec=10
User=ec2-user

WorkingDirectory=/home/ec2-user/RealWorld/

ExecStart=/home/ec2-user/.rbenv/shims/puma -C config/puma.rb

Restart=always

[Install]
WantedBy=multi-user.target

ExecStartに記載するpumaとpuma.rbの場所の探し方

  • pumaを探すにはsudo find / -name puma
  • puma.rbを探すにはsudo find / -name puma.rb

2. ファイルを移動する

上記を記載したファイルを/etc/systemd/system/に移動させます。

3. systemdに変更があったことを教えてあげる

sudo systemctl daemon-reload

4. 次回システム起動時に自動的に起動するように設定する

sudo systemctl enable puma

5. 今すぐPumaを起動させる

sudo systemctl start puma

6. Pumaのステータスを確認する

sudo systemctl status puma

これで Active: active (running) となっていたら完了です!

まとめ

前職では普段から、システムとシステムとの間に手作業を入れないようにとか、間違った場合はどこで気がつけるようになっているのか?などと、システムを導入する時にベンダーの方へ質問していました。「人は間違う生き物」というのは前提に考えていたつもりでしたが、いざ自分が間違うと恥ずかしいものですね。。。
だからこそ、「気を付ける!」と気張るのではなく、「任せる」というスタンスで行きたいものです☺️

0
0
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
0
0