nohup書いてるのにSSH接続を切るとLaravelプロジェクトが何故か落ちる
同一サーバーに入れた2つ目のLaravelプロジェクトがSSH接続を切ると何故か落ちる
もう怪奇現象です。
応急処置を思いついて対応し、今ではダウンせずに動作してますが修復された理由もわかりません。
この備忘録が将来役に立つかどうかも不明ですが、とりあえず行った作業を書き留めておきたいと思います。
発生現象:さっきまで起動していたプロジェクトが落ちている
まずは 理由を調べるため、発生している症状を探っていきます。
知りたいことは以下の通り。
- 画面が表示されない理由
- 症状発生の切っ掛け
- 症状発生の原因/理由
まずは何故画面が出ないのか調査します
理由の候補は以下の通り
- ネットワークエラー
- Laravelプロジェクトの停止
- URLの記述間違い
ネットワークエラーはポートスキャンかければ一発でわかります。
1 2 3 4 5 6 |
#外部(別サーバ)から実行 nmap -sT -p8080 サーバーIP #結果 PORT STATE SERVICE 8080/tcp closed xprint-server |
Closedという事はやっぱりLaravelプロジェクトが立ち上がってないのか。
Laravelプロジェクトを立ち上げます。
1 2 3 4 5 |
#プロジェクトのディレクトリへ移動 cd プロジェクトのディレクトリ #Laravelプロジェクトの起動 nohup php artisan serve --host 0.0.0.0 > out.log 2> err.log < /dev/null & |
再度ポートスキャンを掛けると…。Status:Open
という事はLaravelプロジェクトが落ちた事が画面の出なかった原因の様です。
その後30分ほど原因を探ったが何も問題なく動作する
そう、何も問題なく動いて欲しいように動いてくれます。
「たまたま?」
そう考えてSSH接続を切断。20分ぐらい他の仕事してまた問題のサイトを表示しようとしたら…落ちてる…。
その間に行った事を思い返す
思い返しても同一サーバーで処理したのは何もないのです。
やったこととすればSSHの切断。ん?これか?
再度プロジェクトを起動してSSHをすぐ閉じてみます。
あっ、画面が出てこない。ってことはSSH接続が切れるとプロジェクトが落ちるって事か。
でもですよ、【nohub】付けて動かしてるのね。
終了の信号を何故受ける???
ふと思いついた応急処置
SSH接続が原因なら、さくらのコンパネからSSHターミナル動かしてログオフしなければ、取り合えずしのげるんじゃね?
と言う事でやってみました。
動作は想像通り。
PC側のSSH接続を閉じても問題なく起動したままです。
コンパネのターミナルは自動ログオフしないのかを探る意味も込め、取り合えずこの状態で1日過ごしてみました。
うん、落ちない。でもね、健康的な処置ではないので翌朝終了させます。
SSHターミナル終了したのに何故か落ちない
そうなんです、コンパネから起動したSSHターミナル、ログオフしたらプロジェクトが落ちるはずでした。
なのに落ちない…。
PCからも繋いでみてterminal終了。
これでも落ちない…。
昨日の動きは何だったんだ??
昨日プロジェクトが落ちた動きをもう一度やってみる
一度プロジェクトをKillして作業開始です。
PCから起動してSSHを切断。
…何故落ちない…。
まとめ
まぁなってほしい動作になているのでいいのですが、いまいちサッパリしません。
でも症状が出てくれない事にはこれ以上調べる事も出来ない。
う~ん、これはいったい何だったんだ…。
疑問だらけの1日の始まりになってしまいました。
でもこういう変な動作、再発するのかな。
-
前の記事
ECと業務システムの関連性、今後どうなっていくか 2019.12.19
-
次の記事
ネットでも売れている某メーカーさんから出てきた【国内縮小】の話 2019.12.21
コメントを残す