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

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

新規登録して質問してみよう
ただいま回答率
87.20%
unicorn

Unicornは、汎用のRackアプリケーションサーバ。RackとWebサーバーの機能を併せ持ちます。レスポンス処理や、Nginx単体がRackの機能をサポートしていない事から、一般的にはNginx+Unicorn+Railsの構成を取って用います。

Ruby

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

Ruby on Rails 6

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

AWS(Amazon Web Services)

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

解決済

unicorn railsコマンド実行時に、Already running on PID:〜 (or pid=/var/www/アプリ名/tmp/pids/unicorn.pi)のエラーが出た。

shimataroo
shimataroo

総合スコア1

unicorn

Unicornは、汎用のRackアプリケーションサーバ。RackとWebサーバーの機能を併せ持ちます。レスポンス処理や、Nginx単体がRackの機能をサポートしていない事から、一般的にはNginx+Unicorn+Railsの構成を取って用います。

Ruby

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

Ruby on Rails 6

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

AWS(Amazon Web Services)

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

2回答

0評価

0クリップ

1961閲覧

投稿2021/01/10 13:06

編集2021/01/12 09:27

前提・実現したいこと

Railsのアプリ開発においてAWSでデプロイを行っており、Capistiranoでの自動デプロイまで完了しています。
しかし、このままだとURLがIPアドレスのため、「https://...」となるように、
HTTP通信とSSL認証まで行いたいと考えています。
現在の状況として、ドメインを取得し、Nginxの設定変更(server nameをIPアドレス→ドメイン名)、
unicornの停止確認まで問題なく進んでいます。

発生している問題・エラーメッセージ

「unicorn rails」コマンドを実行した時に、以下のエラーが表示されました。 ※アプリ名「match-you」

[ec2-user@ip-172-31-38-172 match-you]$ bundle exec unicorn_rails -c /var/www/rails/match-you/config/unicorn.conf.rb -D -E production bundler: failed to load command: unicorn_rails (/home/ec2-user/.rbenv/versions/2.6.5/bin/unicorn_rails) Errno::ENOENT: No such file or directory @ rb_sysopen - /var/www/rails/match-you/config/unicorn.conf.rb /home/ec2-user/.rbenv/versions/2.6.5/lib/ruby/gems/2.6.0/gems/unicorn-5.4.1/lib/unicorn/configurator.rb:84:in `read' /home/ec2-user/.rbenv/versions/2.6.5/lib/ruby/gems/2.6.0/gems/unicorn-5.4.1/lib/unicorn/configurator.rb:84:in `reload' /home/ec2-user/.rbenv/versions/2.6.5/lib/ruby/gems/2.6.0/gems/unicorn-5.4.1/lib/unicorn/configurator.rb:77:in `initialize' /home/ec2-user/.rbenv/versions/2.6.5/lib/ruby/gems/2.6.0/gems/unicorn-5.4.1/lib/unicorn/http_server.rb:77:in `new' /home/ec2-user/.rbenv/versions/2.6.5/lib/ruby/gems/2.6.0/gems/unicorn-5.4.1/lib/unicorn/http_server.rb:77:in `initialize' /home/ec2-user/.rbenv/versions/2.6.5/lib/ruby/gems/2.6.0/gems/unicorn-5.4.1/bin/unicorn_rails:209:in `new' /home/ec2-user/.rbenv/versions/2.6.5/lib/ruby/gems/2.6.0/gems/unicorn-5.4.1/bin/unicorn_rails:209:in `<top (required)>' /home/ec2-user/.rbenv/versions/2.6.5/bin/unicorn_rails:23:in `load' /home/ec2-user/.rbenv/versions/2.6.5/bin/unicorn_rails:23:in `<top (required)>' master failed to start, check stderr log for details

該当のソースコード

ターミナルのみでの作業のため同上となります。

試したこと

「check stderr log for details」のメッセージがあるので、lessコマンドを実行

[ec2-user@ip-172-31-38-172 match-you]$ less log/unicorn.stderr.log /home/ec2-user/.rbenv/versions/2.6.5/lib/ruby/gems/2.6.0/gems/unicorn-5.4.1/lib/unicorn/http_server.rb:205:in `pid=': Already running on PID:11935 (or pid=/var/www/match-you/tmp/pids/unicorn.pid is stale) (ArgumentError) from /home/ec2-user/.rbenv/versions/2.6.5/lib/ruby/gems/2.6.0/gems/unicorn-5.4.1/lib/unicorn/http_server.rb:137:in `start' from /home/ec2-user/.rbenv/versions/2.6.5/lib/ruby/gems/2.6.0/gems/unicorn-5.4.1/bin/unicorn_rails:209:in `<top (required)>' from /home/ec2-user/.rbenv/versions/2.6.5/bin/unicorn_rails:23:in `load' from /home/ec2-user/.rbenv/versions/2.6.5/bin/unicorn_rails:23:in `<main>' I, [2021-01-08T11:25:46.370087 #11935] INFO -- : reaped #<Process::Status: pid 11943 exit 0> worker=0 I, [2021-01-08T11:25:46.370223 #11935] INFO -- : master complete I, [2021-01-08T11:27:15.438576 #12119] INFO -- : Refreshing Gem list I, [2021-01-08T11:27:16.769719 #12119] INFO -- : listening on addr=0.0.0.0:3000 fd=9 I, [2021-01-08T11:27:16.774532 #12119] INFO -- : master process ready I, [2021-01-08T11:27:16.778082 #12127] INFO -- : worker=0 ready I, [2021-01-08T12:18:19.503694 #12119] INFO -- : reaped #<Process::Status: pid 12127 exit 0> worker=0 I, [2021-01-08T12:18:19.504358 #12119] INFO -- : master complete I, [2021-01-08T12:18:52.167629 #12614] INFO -- : Refreshing Gem list I, [2021-01-08T12:18:53.952263 #12614] INFO -- : listening on addr=/var/www/match-you/tmp/sockets/unicorn.sock fd=9 I, [2021-01-08T12:18:53.960691 #12614] INFO -- : master process ready I, [2021-01-08T12:18:53.964333 #12622] INFO -- : worker=0 ready I, [2021-01-08T13:39:20.944559 #12614] INFO -- : reaped #<Process::Status: pid 12622 exit 0> worker=0 I, [2021-01-08T13:39:20.944684 #12614] INFO -- : master complete

「PID=11935が既に動いているor古い」とあるため、まずは現在のプロセスを確認しました。

[ec2-user@ip-172-31-38-172 match-you]$ ps aux | grep unicorn ec2-user 5261 0.0 0.0 119436 924 pts/0 S+ 12:34 0:00 grep --color=auto unicorn

「11935」が表示されないため、killmコマンドを実行できず。
PIDが「既に動いている」のではなく「古い」のではと思い、tmpフォルダのpidsフォルダ内の
unicorn.piというファイルが悪さをしている可能性も考えたのですが、
そもそも上記ファイルの存在を確認できませんでした。

これ以上の打ち手分からず質問させて頂いております。
初質問のため回答頂くにあたり不足点もあるかと思われます。
抜けている視点や他に試した方が良いことなどご教示頂けますと幸いです。

その他、効果有無は分からなかったのですが以下も実行致しました(いずれも効果なし)。
・ローカル、リモート環境での差分の有無確認(git push origin master, git pull origin masterの実行)
・インスタンスの再起動
・ターミナルの再起動

補足情報(FW/ツールのバージョンなど)

ruby 2.6.5
rails 6.0.0
unicorn 5.4.1

unicorn.rb ※自動デプロイまではスクールのカリキュラムを参考に「unicorn.rb」ファイルで進めていました。ドメイン取得以降は別の記事を参照していたため、unicorn.conf.rbコマンドで実行してしまっていました。。

unicorn

#サーバ上でのアプリケーションコードが設置されているディレクトリを変数に入れておく app_path = File.expand_path('../../../', __FILE__) # 「../」が一つ増えている #アプリケーションサーバの性能を決定する worker_processes 1 #アプリケーションの設置されているディレクトリを指定 working_directory "#{app_path}/current" # 「current」を指定 #Unicornの起動に必要なファイルの設置場所を指定 pid "#{app_path}/shared/tmp/pids/unicorn.pid" # 「shared」の中を参照するよう変更 #ポート番号を指定 listen "#{app_path}/shared/tmp/sockets/unicorn.sock" # 「shared」の中を参照するよう変更 #エラーのログを記録するファイルを指定 stderr_path "#{app_path}/shared/log/unicorn.stderr.log" # 「shared」の中を参照するよう変更 #通常のログを記録するファイルを指定 stdout_path "#{app_path}/shared/log/unicorn.stdout.log" # 「shared」の中を参照するよう変更 #Railsアプリケーションの応答を待つ上限時間を設定 timeout 60 #以下は応用的な設定なので説明は割愛 preload_app true GC.respond_to?(:copy_on_write_friendly=) && GC.copy_on_write_friendly = true check_client_connection false run_once = true before_fork do |server, worker| defined?(ActiveRecord::Base) && ActiveRecord::Base.connection.disconnect! if run_once run_once = false # prevent from firing again end old_pid = "#{server.config[:pid]}.oldbin" if File.exist?(old_pid) && server.pid != old_pid begin sig = (worker.nr + 1) >= server.worker_processes ? :QUIT : :TTOU Process.kill(sig, File.read(old_pid).to_i) rescue Errno::ENOENT, Errno::ESRCH => e logger.error e end end end after_fork do |_server, _worker| defined?(ActiveRecord::Base) && ActiveRecord::Base.establish_connection end

deploy

# capistranoのバージョンを記載。固定のバージョンを利用し続け、バージョン変更によるトラブルを防止する lock '3.15.0' # Capistranoのログの表示に利用する set :application, 'match-you' # どのリポジトリからアプリをpullするかを指定する set :repo_url, 'git@github.com:yutaro-kugishima/match-you.git' # バージョンが変わっても共通で参照するディレクトリを指定 set :linked_dirs, fetch(:linked_dirs, []).push('log', 'tmp/pids', 'tmp/cache', 'tmp/sockets', 'vendor/bundle', 'public/system', 'public/uploads') set :rbenv_type, :user set :rbenv_ruby, '2.6.5' #カリキュラム通りに進めた場合、’2.6.5’ です # どの公開鍵を利用してデプロイするか set :ssh_options, auth_methods: ['publickey'], keys: ['~/.ssh/sample.pem'] # プロセス番号を記載したファイルの場所 set :unicorn_pid, -> { "#{shared_path}/tmp/pids/unicorn.pid" } # Unicornの設定ファイルの場所 set :unicorn_config_path, -> { "#{current_path}/config/unicorn.rb" } set :keep_releases, 5 # デプロイ処理が終わった後、Unicornを再起動するための記述 after 'deploy:publishing', 'deploy:restart' namespace :deploy do task :restart do invoke 'unicorn:restart' end end

良い質問の評価を上げる

以下のような質問は評価を上げましょう

  • 質問内容が明確
  • 自分も答えを知りたい
  • 質問者以外のユーザにも役立つ

評価が高い質問は、TOPページの「注目」タブのフィードに表示されやすくなります。

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

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

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

teratailでは下記のような質問を「具体的に困っていることがない質問」、「サイトポリシーに違反する質問」と定義し、推奨していません。

  • プログラミングに関係のない質問
  • やってほしいことだけを記載した丸投げの質問
  • 問題・課題が含まれていない質問
  • 意図的に内容が抹消された質問
  • 過去に投稿した質問と同じ内容の質問
  • 広告と受け取られるような投稿

評価を下げると、トップページの「アクティブ」「注目」タブのフィードに表示されにくくなります。

yu_1985

2021/01/10 15:44

> PID=11935が既に動いているor古い」 そのログが出ているのは、unicorn_railsを実行するよりも前の時間ではないでしょうか? 直近でunicorn_railsを実行したと思われる時間帯のログをきちんと確認しましょう。 実行時のエラーに > Errno::ENOENT: No such file or directory @ rb_sysopen - /var/www/rails/match-you/config/unicorn.conf.rb と出ていますが、このパスにunicorn.conf.rbは存在して、かつ読み取り可能な状態になっていますか?
shimataroo

2021/01/10 23:18 編集

コメント頂きありがとうございます。長文となってしまい申し訳ございません。 >そのログが出ているのは、unicorn_railsを実行するよりも前の時間ではないでしょうか? >直近でunicorn_railsを実行したと思われる時間帯のログをきちんと確認しましょう。 先ほど再度unicorn_railsを実行しlessコマンドで詳細確認致しました(以下となります)。 「shift」+Gで一番下までスクロールしておりますので最新のログかと思われるのですが、、 確かに時間帯としては「11:25:46→PID=11935」で、「13:39:20→PID=12614」と異なっている点(最新のログではPID=11935が存在していない?)は違和感を覚えております。 ``` /home/ec2-user/.rbenv/versions/2.6.5/lib/ruby/gems/2.6.0/gems/unicorn-5.4.1/lib/unicorn/http_server.rb:205:in `pid=': Already running on PID:11935 (or pid=/var/www/match-you/tmp/pids/unicorn.pid is stale) (ArgumentError) from /home/ec2-user/.rbenv/versions/2.6.5/lib/ruby/gems/2.6.0/gems/unicorn-5.4.1/lib/unicorn/http_server.rb:137:in `start' from /home/ec2-user/.rbenv/versions/2.6.5/lib/ruby/gems/2.6.0/gems/unicorn-5.4.1/bin/unicorn_rails:209:in `<top (required)>' from /home/ec2-user/.rbenv/versions/2.6.5/bin/unicorn_rails:23:in `load' from /home/ec2-user/.rbenv/versions/2.6.5/bin/unicorn_rails:23:in `<main>' I, [2021-01-08T11:25:46.370087 #11935] INFO -- : reaped #<Process::Status: pid 11943 exit 0> worker=0 I, [2021-01-08T11:25:46.370223 #11935] INFO -- : master complete I, [2021-01-08T11:27:15.438576 #12119] INFO -- : Refreshing Gem list I, [2021-01-08T11:27:16.769719 #12119] INFO -- : listening on addr=0.0.0.0:3000 fd=9 I, [2021-01-08T11:27:16.774532 #12119] INFO -- : master process ready I, [2021-01-08T11:27:16.778082 #12127] INFO -- : worker=0 ready I, [2021-01-08T12:18:19.503694 #12119] INFO -- : reaped #<Process::Status: pid 12127 exit 0> worker=0 I, [2021-01-08T12:18:19.504358 #12119] INFO -- : master complete I, [2021-01-08T12:18:52.167629 #12614] INFO -- : Refreshing Gem list I, [2021-01-08T12:18:53.952263 #12614] INFO -- : listening on addr=/var/www/match-you/tmp/sockets/unicorn.sock fd=9 I, [2021-01-08T12:18:53.960691 #12614] INFO -- : master process ready I, [2021-01-08T12:18:53.964333 #12622] INFO -- : worker=0 ready I, [2021-01-08T13:39:20.944559 #12614] INFO -- : reaped #<Process::Status: pid 12622 exit 0> worker=0 I, [2021-01-08T13:39:20.944684 #12614] INFO -- : master complete (END) ``` >実行時のエラーに > Errno::ENOENT: No such file or directory @ rb_sysopen - /var/www/rails/match-you/config/unicorn.conf.rb >と出ていますが、このパスにunicorn.conf.rbは存在して、かつ読み取り可能な状態になっていますか? ファイル名を改めて確認致しました所、「unicorn.conf.rb」ではなく「unicorn.rb」でした。申し訳ございません。コマンドを以下のように修正して実行したのですが、同様のエラーメッセージが表示されてしまいました。unicorn.rbファイルは問題なく開いて編集できる状態ですので、読み取り可能な状態なのではと考えております。 ``` $ bundle exec unicorn_rails -c /var/www/rails/match-you/config/unicorn.conf.rb -D -E production ``` ``` bundler: failed to load command: unicorn_rails (/home/ec2-user/.rbenv/versions/2.6.5/bin/unicorn_rails) Errno::ENOENT: No such file or directory @ dir_s_chdir - /var/www/current ``` さらに、ファイル名を「unicorn.conf.rb」に変更して、「git push origin master」と「git pull origin master」コマンド実行後に、再度unicorn_railsを実行しても同様のエラーが吐かれてしまっている状況です。 AWSに関して、始めてのチャットでの質問ということで至らない点もあるかと思うのですが、ご返信頂ければ幸いです。
yu_1985

2021/01/11 12:13

unicorn云々は過去のログなので関係ないと考えています。 恐らく現状はそもそもエラーでunicornを立ち上げられてないのでは? > unicorn.conf.rb」ではなく「unicorn.rb」でした それならコマンドで参照させているパスを修正しなければならないのでは。 下記でやってみてください。 bundle exec unicorn_rails -c /var/www/rails/match-you/config/unicorn.rb -D -E production
shimataroo

2021/01/11 12:30

返信頂きありがとうございます。 自分でも、そもそもエラーが原因なのでは?と思い始めてきました。 上記コマンドを実行してみたのですが、同じエラーが出てしまいました、、
yu_1985

2021/01/11 12:46

>「shift」+Gで一番下までスクロールしておりますので ということは、直近立ち上げようとしたときにはそのログにはエラーが出ていないということになりますが…。 ファイルの配置パスはたしかにこの通りですか? /var/www/rails/match-you/config/unicorn.rb
shimataroo

2021/01/11 13:15

EC2でアプリまでの移動は「cd /var/www/match-you」コマンドを実行していますので、 「cd /var/www/match-you/config/unicorn.rb」となります。ただし、unicorn_railsコマンド実行時に、パス名からrailsを抜いても同様のエラーが出てしまっている状態で、余計に混乱してしまっております。。
yu_1985

2021/01/11 16:54

unicorn.rbを見るとcurrentディレクトリの下に配置することを前提にconfigを書いているように見えるのですが…。 /var/www/match-you の配下で`ls -l` コマンドを打って結果を貼ってくれませんか? その下に何か見るべきディレクトリがあればそこもお願いします。
shimataroo

2021/01/11 21:34 編集

確かに7行目に「currentを指定」と書かれておりました、、 ls -lコマンドを打った結果は以下となりました。 中部に「current」があり色もこれだけ異なっていますので、これに原因がありそうでしょうか?? [ec2-user@ip-172-31-38-172 match-you]$ ls -l 合計 416 -rw-rw-r-- 1 ec2-user ec2-user 275 1月 10 03:24 Capfile -rw-rw-r-- 1 ec2-user ec2-user 2289 1月 10 03:24 Gemfile -rw-rw-r-- 1 ec2-user ec2-user 7773 1月 10 03:24 Gemfile.lock -rw-rw-r-- 1 ec2-user ec2-user 709 1月 8 10:12 README.md -rw-rw-r-- 1 ec2-user ec2-user 227 1月 6 10:34 Rakefile drwxrwxr-x 11 ec2-user ec2-user 142 1月 6 10:34 app -rw-rw-r-- 1 ec2-user ec2-user 1722 1月 6 10:34 babel.config.js drwxrwxr-x 2 ec2-user ec2-user 125 1月 6 10:34 bin drwxrwxr-x 7 ec2-user ec2-user 4096 1月 11 03:42 config -rw-rw-r-- 1 ec2-user ec2-user 130 1月 6 10:34 config.ru lrwxrwxrwx 1 ec2-user ec2-user 42 1月 8 13:44 current -> /var/www/match-you/releases/20210108134217 drwxrwxr-x 3 ec2-user ec2-user 54 1月 10 03:24 db drwxrwxr-x 4 ec2-user ec2-user 33 1月 6 10:34 lib drwxrwxr-x 2 ec2-user ec2-user 116 1月 8 10:34 log drwxrwxr-x 647 ec2-user ec2-user 24576 1月 8 10:52 node_modules -rw-rw-r-- 1 ec2-user ec2-user 336 1月 6 10:34 package.json -rw-rw-r-- 1 ec2-user ec2-user 224 1月 6 10:34 postcss.config.js drwxrwxr-x 4 ec2-user ec2-user 186 1月 6 13:12 public drwxrwxr-x 3 ec2-user ec2-user 28 1月 8 13:44 releases drwxrwxr-x 7 ec2-user ec2-user 156 1月 8 13:42 repo -rw-rw-r-- 1 ec2-user ec2-user 114 1月 8 13:44 revisions.log drwxrwxr-x 7 ec2-user ec2-user 70 1月 8 13:42 shared drwxrwxr-x 2 ec2-user ec2-user 19 1月 6 10:34 storage drwxrwxr-x 10 ec2-user ec2-user 195 1月 6 10:34 test drwxrwxr-x 6 ec2-user ec2-user 105 1月 8 10:35 tmp drwxrwxr-x 2 ec2-user ec2-user 19 1月 6 10:34 vendor -rw-rw-r-- 1 ec2-user ec2-user 332067 1月 6 10:34 yarn.lock [ec2-user@ip-172-31-38-172 match-you]$ 以下の通り、configの前にcurrentパスを入れてunicorn_railsを実行してみたのですが、上手くいきませんでした。。 [ec2-user@ip-172-31-38-172 match-you]$ bundle exec unicorn_rails -c /var/www/match-you/current/config/unicorn.rb -D -E production master failed to start, check stderr log for details
yu_1985

2021/01/12 03:09

> /var/www/match-you/current/config/unicorn.rb こちらが正しいパスかは確認されましたか? また、表示される内容が変わってるように見えるので改めてunicorn.stderr.logを確認してみてください。(途中のメッセージを消したりはしてませんよね?)
shimataroo

2021/01/12 03:49 編集

正しいパスかの確認の仕方が分かっておらず申し訳ございません。match-youの直下にconfigフォルダがあるため「current」をパスに含める意義をいまいち理解できておりません。。 lessコマンドを実行した結果は下記となりました。途中のメッセージは消していないのですが、一番下の最新の日付が4日前の「2021年1月8日」となっており違和感を覚えているのですが、そもそも正しくメッセージが表示されていないということでしょうか?? 度々お手数お掛けしてしまい、大変申し訳ございません。 /home/ec2-user/.rbenv/versions/2.6.5/lib/ruby/gems/2.6.0/gems/unicorn-5.4.1/lib/unicorn/http_server.rb:205:in `pid=': Already running on PID:11935 (or pid=/var/www/match-you/tmp/pids/unicorn.pid is stale) (ArgumentError) from /home/ec2-user/.rbenv/versions/2.6.5/lib/ruby/gems/2.6.0/gems/unicorn-5.4.1/lib/unicorn/http_server.rb:137:in `start' from /home/ec2-user/.rbenv/versions/2.6.5/lib/ruby/gems/2.6.0/gems/unicorn-5.4.1/bin/unicorn_rails:209:in `<top (required)>' from /home/ec2-user/.rbenv/versions/2.6.5/bin/unicorn_rails:23:in `load' from /home/ec2-user/.rbenv/versions/2.6.5/bin/unicorn_rails:23:in `<main>' I, [2021-01-08T11:25:46.370087 #11935] INFO -- : reaped #<Process::Status: pid 11943 exit 0> worker=0 I, [2021-01-08T11:25:46.370223 #11935] INFO -- : master complete I, [2021-01-08T11:27:15.438576 #12119] INFO -- : Refreshing Gem list I, [2021-01-08T11:27:16.769719 #12119] INFO -- : listening on addr=0.0.0.0:3000 fd=9 I, [2021-01-08T11:27:16.774532 #12119] INFO -- : master process ready I, [2021-01-08T11:27:16.778082 #12127] INFO -- : worker=0 ready I, [2021-01-08T12:18:19.503694 #12119] INFO -- : reaped #<Process::Status: pid 12127 exit 0> worker=0 I, [2021-01-08T12:18:19.504358 #12119] INFO -- : master complete I, [2021-01-08T12:18:52.167629 #12614] INFO -- : Refreshing Gem list I, [2021-01-08T12:18:53.952263 #12614] INFO -- : listening on addr=/var/www/match-you/tmp/sockets/unicorn.sock fd=9 I, [2021-01-08T12:18:53.960691 #12614] INFO -- : master process ready I, [2021-01-08T12:18:53.964333 #12622] INFO -- : worker=0 ready I, [2021-01-08T13:39:20.944559 #12614] INFO -- : reaped #<Process::Status: pid 12622 exit 0> worker=0 I, [2021-01-08T13:39:20.944684 #12614] INFO -- : master complete (END)
yu_1985

2021/01/12 03:59

lsコマンドで該当ディレクトリにファイルが存在するかを確認するだけです。 ls -l /var/www/rails/match-you/current ls -l /var/www/rails/match-you/current/config > 「current」をパスに含める意義をいまいち理解できておりません それは自分でworking directoryをcurrentとするようconfigに設定しているからなのですが…。 それにも関わらずプロジェクトディレクトリの配下に様々なディレクトリが存在しているので、どのようにデプロイを行ったのかが非常に気になります。 ひねくれたことをしていなければcapistranoのデフォルトに従ってデプロイしていると思いますのでcurrentで参照しているディレクトリに最新のソースがあるはずです。 それぞれのディレクトリが何を指しているかは例えばこちらの記事とかをご参照ください。 https://qiita.com/kneegorilla/items/c66fb624002c3db370c3#currentshared%E3%81%A8%E3%81%AF
yu_1985

2021/01/12 04:02

あとconfig/deploy.rbの内容も貼ったほうがいいと思います。
shimataroo

2021/01/12 09:38

「ls -l /var/www/rails/match-you/current」を実行した時の結果は以下の通りでした。 「コマンドが見つかりません」といくつか出てくるのですが、こちらも何かの不具合でしょうか?? ``` [ec2-user@ip-172-31-38-172 match-you]$ # capistranoのバージョンを記載。固定のバージョンを利用し続け、バージョン変更によるトラブルを防止する [ec2-user@ip-172-31-38-172 match-you]$ lock '3.15.0' -bash: lock: コマンドが見つかりません [ec2-user@ip-172-31-38-172 match-you]$ [ec2-user@ip-172-31-38-172 match-you]$ # Capistranoのログの表示に利用する [ec2-user@ip-172-31-38-172 match-you]$ set :application, 'match-you' [ec2-user@ip-172-31-38-172 match-you]$ [ec2-user@ip-172-31-38-172 match-you]$ # どのリポジトリからアプリをpullするかを指定する [ec2-user@ip-172-31-38-172 match-you]$ set :repo_url, 'git@github.com:yutaro-kugishima/match-you.git' [ec2-user@ip-172-31-38-172 match-you]$ [ec2-user@ip-172-31-38-172 match-you]$ # バージョンが変わっても共通で参照するディレクトリを指定 [ec2-user@ip-172-31-38-172 match-you]$ set :linked_dirs, fetch(:linked_dirs, []).push('log', 'tmp/pids', 'tmp/cache', 'tmp/sockets', 'vendor/bundle', 'public/system', 'public/uploads') -bash: 予期しないトークン `(' 周辺に構文エラーがあります [ec2-user@ip-172-31-38-172 match-you]$ [ec2-user@ip-172-31-38-172 match-you]$ set :rbenv_type, :user [ec2-user@ip-172-31-38-172 match-you]$ set :rbenv_ruby, '2.6.5' #カリキュラム通りに進めた場合、’2.6.5’ です [ec2-user@ip-172-31-38-172 match-you]$ [ec2-user@ip-172-31-38-172 match-you]$ # どの公開鍵を利用してデプロイするか [ec2-user@ip-172-31-38-172 match-you]$ set :ssh_options, auth_methods: ['publickey'], [ec2-user@ip-172-31-38-172 match-you]$ keys: ['~/.ssh/sample.pem'] -bash: keys:: コマンドが見つかりません [ec2-user@ip-172-31-38-172 match-you]$ [ec2-user@ip-172-31-38-172 match-you]$ # プロセス番号を記載したファイルの場所 [ec2-user@ip-172-31-38-172 match-you]$ set :unicorn_pid, -> { "#{shared_path}/tmp/pids/unicorn.pid" } [ec2-user@ip-172-31-38-172 match-you]$ [ec2-user@ip-172-31-38-172 match-you]$ # Unicornの設定ファイルの場所 [ec2-user@ip-172-31-38-172 match-you]$ set :unicorn_config_path, -> { "#{current_path}/config/unicorn.rb" } [ec2-user@ip-172-31-38-172 match-you]$ set :keep_releases, 5 [ec2-user@ip-172-31-38-172 match-you]$ [ec2-user@ip-172-31-38-172 match-you]$ # デプロイ処理が終わった後、Unicornを再起動するための記述 [ec2-user@ip-172-31-38-172 match-you]$ after 'deploy:publishing', 'deploy:restart' -bash: after: コマンドが見つかりません [ec2-user@ip-172-31-38-172 match-you]$ namespace :deploy do -bash: namespace: コマンドが見つかりません [ec2-user@ip-172-31-38-172 match-you]$ task :restart do -bash: task: コマンドが見つかりません [ec2-user@ip-172-31-38-172 match-you]$ invoke 'unicorn:restart' -bash: invoke: コマンドが見つかりません [ec2-user@ip-172-31-38-172 match-you]$ end -bash: end: コマンドが見つかりません [ec2-user@ip-172-31-38-172 match-you]$ end ``` また、ls -l /var/www/rails/match-you/current/configを実行したときは以下の通り、 ファイルが存在しておりませんでした。 ``` [ec2-user@ip-172-31-38-172 match-you]$ ls -l /var/www/rails/match-you/current/config ls: /var/www/rails/match-you/current/config にアクセスできません: No such file or directory [ec2-user@ip-172-31-38-172 match-you]$ ``` capistranoについては、今回初めて使用しましたのでデフォルトに従って行いました。 また、Qiitaの記事をお送り頂きありがとうございます。 config/deploy.rbの内容は質問の方に貼らせて頂きました。
yu_1985

2021/01/12 10:16

> コマンドが見つかりません」といくつか出てくるのですが、 間違ってconfigの内容を貼り付けてるからですね…。 > ls: /var/www/rails/match-you/current/config にアクセスできません: No such file or directory よくよく見たら > cd /var/www/match-you なので、そもそもrailsなんてディレクトリが存在しないのが原因っぽいですね。 それを回答に書きます

まだ回答がついていません

会員登録して回答してみよう

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

ただいまの回答率
87.20%

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

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

質問する

関連した質問

同じタグがついた質問を見る

unicorn

Unicornは、汎用のRackアプリケーションサーバ。RackとWebサーバーの機能を併せ持ちます。レスポンス処理や、Nginx単体がRackの機能をサポートしていない事から、一般的にはNginx+Unicorn+Railsの構成を取って用います。

Ruby

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

Ruby on Rails 6

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

AWS(Amazon Web Services)

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