質問: **Nginx起動しなくなった時に、「$ sudo journalctl -xe」や「$ sudo systemctl status nginx.service -l」を打つのですが、それぞれどういう意味ですか?** --- **$ sudo systemctl status nginx.service -l** ・Linux オペレーティングシステム用のシステムおよびサービスマネージャーであるsystemd のログの詳細を(出力時にユニット名を省略せず)表示? ・Nginxに限った内容表示ですか? --- **$ sudo journalctl -xe** ・ログの詳細情報を含めて表示し、最後に飛ぶ? ・何のログですか? systemd ジャーナル? ・ジャーナル=ログですか? ・Nginxに限った内容とは限らない?? --- **環境** ・CentOS7 ・Nginx
回答: `systemctl status nginx.service -l`は指定したユニット(サービス)の状態、直近のログファイルを確認する方法。 `journalctl -xe`はsystemd-journaldが収集したジャーナル=ログを確認するコマンド。こちらも`-u UNITNAME`でユニット名を指定することができますが、質問の実行方法では特に指定がないのですべてのログを表示するはず。 ログは一般的に末尾に追記されていくので、問題が起こった直後はログの一番最後から確認する方が原因を見つけやすいので、`-e`オプションを推奨しているのでしょう。`-x`は追加の解説メッセージがもし存在すれば表示するオプションです。 今回実行されたコマンドは恐らくnginxで問題が起きている際のメッセージを参考にしてだと思いますが、`sudo`コマンドを実行する場合には以下の様な格言もありますので参考までに。 sudo初回実行時のメッセージ - Qiita > > * Think before you type.(入力する前に考えること) > * With great power comes great responsibility.(大いなる力には大いなる責任が伴うこと) > > > linuxコマンドの使い方がわからない場合は`man`コマンドを積極的に活用しましょう。オプションを確認した上で、実際の実行結果と照らし合わせてみてください。