質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.50%
Ruby on Rails 5

Ruby on Rails 5は、オープンソースのWebアプリケーションフレームワークです。「同じことを繰り返さない」というRailsの基本理念のもと、他のフレームワークより少ないコードで簡単に開発できるよう設計されています。

Ruby

Rubyはプログラミング言語のひとつで、オープンソース、オブジェクト指向のプログラミング開発に対応しています。

nginx

nginixは軽量で高性能なwebサーバーの1つです。BSD-likeライセンスのもとリリースされており、あわせてHTTPサーバ、リバースプロキシ、メールプロキシの機能も備えています。MacOSX、Windows、Linux、上で動作します。

AWS(Amazon Web Services)

Amazon Web Services (AWS)は、仮想空間を機軸とした、クラスター状のコンピュータ・ネットワーク・データベース・ストーレッジ・サポートツールをAWSというインフラから提供する商用サービスです。

Capistrano

Rubyで書かれたサーバオーケストレーションで、複数のサーバでスクリプトを実行する際に用いられます。主な使用用途はWebアプリケーションのデプロイメントです。 アプリケーションのバージョンアップ自動化、およびデータベースの変更などもできます。

Q&A

解決済

1回答

1699閲覧

起動していないはずのunicornが起動。killできない件

j30st

総合スコア28

Ruby on Rails 5

Ruby on Rails 5は、オープンソースのWebアプリケーションフレームワークです。「同じことを繰り返さない」というRailsの基本理念のもと、他のフレームワークより少ないコードで簡単に開発できるよう設計されています。

Ruby

Rubyはプログラミング言語のひとつで、オープンソース、オブジェクト指向のプログラミング開発に対応しています。

nginx

nginixは軽量で高性能なwebサーバーの1つです。BSD-likeライセンスのもとリリースされており、あわせてHTTPサーバ、リバースプロキシ、メールプロキシの機能も備えています。MacOSX、Windows、Linux、上で動作します。

AWS(Amazon Web Services)

Amazon Web Services (AWS)は、仮想空間を機軸とした、クラスター状のコンピュータ・ネットワーク・データベース・ストーレッジ・サポートツールをAWSというインフラから提供する商用サービスです。

Capistrano

Rubyで書かれたサーバオーケストレーションで、複数のサーバでスクリプトを実行する際に用いられます。主な使用用途はWebアプリケーションのデプロイメントです。 アプリケーションのバージョンアップ自動化、およびデータベースの変更などもできます。

0グッド

0クリップ

投稿2020/03/29 15:12

編集2020/03/30 03:09

###解決したい事

railsアプリのawsデプロイ時のエラー

(SSHKit::Runner::ExecuteError)
ArgumentError: Already running on PID:3199

下記に詳細がありますので、ご確認いただければと思います。

###詳細
railsで開発したアプリを約3ヶ月前に
aws
nginx
capistrano
でデプロイしました。

当該アプリは全く使用しないはずだったためインスタンスを停止したところ、
elastic IPのみで費用発生することを知り、解放しました。

しかし、再度本番環境で確認する必要が出たため新規のelastic IPを生成し、割り当て、
また、GitHubにgemfile.lockへのupdate喚起が出ていた為、訂正してマージしました。

このタイミングで自動デプロイを行ったところ、
下記のエラーが出て、つまっています。

(SSHKit::Runner::ExecuteError) (Backtrace restricted to imported tasks) cap aborted! SSHKit::Runner::ExecuteError: Exception while executing as ec2-user@13.114.218.46: Net::SSH::ConnectionTimeout Caused by: Net::SSH::ConnectionTimeout: Net::SSH::ConnectionTimeout Caused by: Errno::ETIMEDOUT: Operation timed out - connect(2) for 13.114.218.46:22

こちらに出ているec2-userは現在使用しているユーザーではありません。
おそらく以前のIPを利用していた頃のユーザーかと思われます。
その為、SSH鍵の再登録は意味が無いようで、エラー内容は変わりません。

また、手動でデプロイしようとしたところ、

ArgumentError: Already running on PID:3199 (or pid=/var/www/chat-space/tmp/pids/unicorn.pid is stale)

と出ます。
unicornがすでに起動しているという意味かと思いますが、
unicornの状況を確認しても起動しているものはありません。

上記2つのエラーはelasticIPが変更された事によって起こっているエラーなのでしょうか。
また、その場合解決方法はあるのでしょうか。
(PID:3199のunicornの停止方法など)

ご教示お願い致します。

##追記
手動デプロイ時に

ArgumentError: Already running on PID:3199 (or pid=/var/www/chat-space/tmp/pids/unicorn.pid is stale)

上記のエラーが出るとお伝えしていましたが、こちらは

less log/unicorn.stderr.log

でログを確認した時のものでして、
ログ確認前には、まず

bundler: failed to load command: unicorn_rails (/home/ec2-user/.rbenv/versions/2.5.1/bin/unicorn_rails) ArgumentError: config_file=config/unicorn.rb would not be accessible in working_directory=/var/www/current

こちらのエラーが出ています。
記載しておらず申し訳ございません。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答1

0

ベストアンサー

[unicornの状況を確認しても起動しているものはありません。]
これはどのように行いましたか?

もし本当に起動していないとすると、単に
/var/www/chat-space/tmp/pids/unicorn.pid
というfileが存在しているだけかもしれません。

elastic IPを持とうが変えようが、これらには関係ありません

投稿2020/03/29 21:01

winterboum

総合スコア23284

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

j30st

2020/03/30 02:07

ご回答ありがとうございます。 unicornの確認は、 ``` $ ps aux | grep unicorn ``` で行っています。 結果は、 ``` ec2-user 17813 0.0 0.2 110532 2176 pts/0 S+ 01:54 0:00 grep --color=auto unicorn ``` です。 winterboumさんの仰ったファイルの存在をcdとlsを使いながら一つ一つ階層を降りて確認してみたのですが、 pidsディレクトリでlsを使用したところ、何も表示されませんでした。 ``` [ec2-user@ tmp]$ cd pids [ec2-user@ pids]$ ls [ec2-user@ pids]$ ``` この結果は何か参考になるでしょうか。
winterboum

2020/03/30 02:38

ls /var/www/chat-space/tmp/pids でもでませんか?
j30st

2020/03/30 02:59

試してみましたが、出ないようです。
j30st

2020/03/30 03:12

>winterboumさん 質問内容に関して未記載だった状況について追記しました。 ご迷惑でなければ、ご確認の上何かアドバイスいただけますと幸いです。
winterboum

2020/03/30 07:32

unicorn起動のconfigが読めて居ないようです。 起動scriptの記載と置き場所が食い違ってるのか? 1) 起動scriptを見せてください 2) unicorn.rb の置き場所を full pathで("/"ではじまるやつ)で教えてください
j30st

2020/03/30 07:44

ご返信ありがとうございます。 >1) 起動scriptを見せてください 起動scriptというのはunicorn立ち上げ時の打ち込む内容でしょうか。間違っていたらすみません。 こちらです。 [ec2-user@ip-172-31-46-55 chat-space]$ bundle exec unicorn_rails -c config/unicorn.rb -E production -D bundler: failed to load command: unicorn_rails (/home/ec2-user/.rbenv/versions/2.5.1/bin/unicorn_rails) ArgumentError: config_file=config/unicorn.rb would not be accessible in working_directory=/var/www/current /home/ec2-user/.rbenv/versions/2.5.1/lib/ruby/gems/2.5.0/gems/unicorn-5.4.1/lib/unicorn/configurator.rb:592:in `working_directory' config/unicorn.rb:8:in `reload' /home/ec2-user/.rbenv/versions/2.5.1/lib/ruby/gems/2.5.0/gems/unicorn-5.4.1/lib/unicorn/configurator.rb:84:in `instance_eval' /home/ec2-user/.rbenv/versions/2.5.1/lib/ruby/gems/2.5.0/gems/unicorn-5.4.1/lib/unicorn/configurator.rb:84:in `reload' /home/ec2-user/.rbenv/versions/2.5.1/lib/ruby/gems/2.5.0/gems/unicorn-5.4.1/lib/unicorn/configurator.rb:77:in `initialize' /home/ec2-user/.rbenv/versions/2.5.1/lib/ruby/gems/2.5.0/gems/unicorn-5.4.1/lib/unicorn/http_server.rb:77:in `new' /home/ec2-user/.rbenv/versions/2.5.1/lib/ruby/gems/2.5.0/gems/unicorn-5.4.1/lib/unicorn/http_server.rb:77:in `initialize' /home/ec2-user/.rbenv/versions/2.5.1/lib/ruby/gems/2.5.0/gems/unicorn-5.4.1/bin/unicorn_rails:209:in `new' /home/ec2-user/.rbenv/versions/2.5.1/lib/ruby/gems/2.5.0/gems/unicorn-5.4.1/bin/unicorn_rails:209:in `<top (required)>' /home/ec2-user/.rbenv/versions/2.5.1/bin/unicorn_rails:23:in `load' /home/ec2-user/.rbenv/versions/2.5.1/bin/unicorn_rails:23:in `<top (required)>' master failed to start, check stderr log for details >2) unicorn.rb の置き場所を full pathで("/"ではじまるやつ)で教えてください /var/www/chat-space/config/unicorn.rbです。 何度もすみません、ありがとうございます。 宜しくお願い致します。
winterboum

2020/03/30 07:49

command打った直後に重要なエラーメッセージが出てるじゃないですか bundler: failed to load command: unicorn_rails (/home/ec2-user/.rbenv/versions/2.5.1/bin/unicorn_rails) と ArgumentError: config_file=config/unicorn.rb would not be accessible in working_directory=/var/www/current で、 /var/www/chat-space/config/unicorn.rb にあるということは /var/www/current にはないのでは?
j30st

2020/03/30 09:09

ご指摘ありがとうございます。 おっしゃる通りでした。 unicorn.rb内のworking_directoryのディレクトリ構造の記載を変えた結果、unicornが起動しました。 (currentの前に今回のアプリケーション名を追記) elasticIPへアクセスしたところ、nginxのトップページが出てきてしまうという問題が新たに出ましたが、ここからは表題の問題とは関係ない為、自身で解決してみます。 お忙しい中、長時間に渡ってお付き合いいただき、本当にありがとうございました。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.50%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問