ブラウザからのリクエストもsshコマンドもConnection refusedのエラーとなってマジやばかった件
前提
環境は以下の通りでした。
- VPS:ConoHa VPS
- OS:CentOS
- Webサーバ:Nginx
- アプリケーションサーバ:Unicorn
- デプロイ:Capistrano
- Webアプリ:Ruby on Rails
事象
ソース修正もデータ投入もしていなかったのに、突然リクエストが繋がらなくなりました。
ブラウザからのリクエストもローカルPCからのsshコマンドも全滅でした。
以下はsshコマンドの実行結果です。
$ ssh -vvv aaaaa
OpenSSH_7.6p1, LibreSSL 2.6.2
debug1: Reading configuration data /Users/user/.ssh/config
debug1: /Users/user/.ssh/config line 1: Applying options for aaaaa
debug1: Reading configuration data /etc/ssh/ssh_config
debug1: /etc/ssh/ssh_config line 48: Applying options for *
debug2: ssh_connect_direct: needpriv 0
debug1: Connecting to xxx.xx.xx.xxx port xxxxx.
ssh: connect to host xxx.xx.xx.xxx port xxxxx: Connection refused
対応策
ConoHaコンソールから以下2つのコマンドを実行
プロセスを見たところ全然プロセスは生きていたのですが、リスタートしてみました。
すると状況が進展しました。
sshは繋がるようになりました。
ブラウザからのアクセスもできましたが、502エラーが表示されました。
(ただ、コマンドは2つのうちどちらかだけでもよかったのかもしれません)
ローカルPCからCapistranoのデプロイコマンドを実行
502エラーだったので、Unicornの再起動が必要なのかなと当たりをつけ、デプロイコマンドを打つことでUnicornの再起動をしようとしました。
$ bundle exec cap production deploy
これで502エラーも解消され、全て元どおりになりました!
(ただ、Unicornが原因だったのかはわからないままです。。。)