MENU
Language

Nginxのサービス状況を確認する

Nginxの状況を確認するためには、以下のコマンドを使用します。これらのコマンドを活用することで、Nginxの稼働状況や設定の問題を調査できます。


1. Nginxのサービス状況を確認する

Nginxが動作しているか確認する:

sudo systemctl status nginx

active (running) が表示されれば、Nginxは正常に稼働中です。

inactivefailed の場合は、問題があります。

Nginxを再起動する:

sudo systemctl restart nginx

Nginxを停止/開始する:

sudo systemctl stop nginx
sudo systemctl start nginx

2. 設定ファイルのチェック

設定ファイルにエラーがないか確認:

sudo nginx -t

出力例:

OKの場合:
nginx: configuration file /etc/nginx/nginx.conf test is successful

エラーがある場合: エラー内容が表示されます。
nginx: [emerg] "server" directive is not allowed here

設定ファイルの場所を確認:

nginx -V 2>&1 | grep configure

ここで、--conf-path に設定ファイルのパスが表示されます(通常は /etc/nginx/nginx.conf)。


3. ポートの使用状況を確認

Nginxがリッスンしているポートを確認:

sudo netstat -tuln | grep nginx

または

sudo ss -tuln | grep :80

出力例:

tcp   LISTEN 0      128    0.0.0.0:80      0.0.0.0:*

ポートが正しく開いているか確認:

curl -I http://localhost

正常に動作していれば、HTTPステータスコード(例: 200 OK)が返ります。


4. ログを確認

エラーログの確認:

sudo tail -f /var/log/nginx/error.log

エラーの詳細情報を確認できます。

アクセスログの確認:

sudo tail -f /var/log/nginx/access.log

サーバーへのリクエスト情報が表示されます。


5. 現在のNginxの動作状況を確認

動作中のプロセスを確認:

ps aux | grep nginx

出力例:

root      1234  0.0  0.1  16208  1284 ?        Ss   12:00   0:00 nginx: master process /usr/sbin/nginx
www-data  1235  0.0  0.2  16208  2048 ?        S    12:00   0:00 nginx: worker process

実際に使用されているバイナリを特定

sudo ls -l /proc/<PID>/exe

6. Nginxの設定を一覧表示

現在有効な設定ファイルを一覧表示:

sudo nginx -T

すべての設定ファイル(nginx.confsites-enabled 内の設定)を一括で確認できます。


7. 再ロード(設定変更後)

設定ファイルを変更した後、再起動せずに設定を反映:

sudo systemctl reload nginx

8. ファイアウォールの設定を確認

Nginxのポート(80, 443)が開放されているか確認:

sudo ufw status

出力結果の例:

Status: active

To                         Action      From
--                         ------      ----
OpenSSH                    ALLOW       Anywhere
Nginx Full                 ALLOW       Anywhere
OpenSSH (v6)               ALLOW       Anywhere (v6)
Nginx Full (v6)            ALLOW       Anywhere (v6)

Status: active ファイアウォール(UFW)は有効で、現在動作中であることを示しています。

ルールの一覧
To: 許可されているサービスやポート。
Action: 許可されているか (ALLOW) または拒否されているか (DENY)。
From: 接続元。Anywhere はどこからの接続でも許可されていることを意味します。

現在のルール:
OpenSSH:SSH (ポート22) への接続を許可しています。これはサーバーにリモートログインするために必要です。
Nginx Full:Nginxが使用するHTTP (ポート80) と HTTPS (ポート443) の両方が許可されています。
OpenSSH (v6):IPv6でのSSH接続を許可しています。
Nginx Full (v6):IPv6でのHTTPとHTTPS接続を許可しています。

必要に応じてポートを開放

sudo ufw allow 'Nginx Full'

sudo ufw allow 'Nginx Full' は、UFW (Uncomplicated Firewall) を使用して、Nginxが必要とするポート(通常、HTTPポート80とHTTPSポート443)を許可するコマンドです。

sudo ufw allowの出力が Status: inactive となっている場合、UFW(Uncomplicated Firewall)は現在無効化されています。この状態ではファイアウォールによる通信制御は行われていません。そのため、Nginxへの接続がブロックされる原因にはなりません。

ファイアウォールが無効化されている状態では、Nginxが動作している場合、ポート80や443への通信がファイアウォールによって制限されることはありません。外部からサーバーのIPアドレスにアクセスして、Nginxが正常に応答するか確認してください。
HTTPS: https://<サーバーIP>
HTTP: http://<サーバーIP>


まとめ

コマンド用途
sudo systemctl status nginxサービスの状況確認
sudo nginx -t設定ファイルのエラーチェック
curl -I http://localhostサーバー応答の確認
sudo tail -f /var/log/nginx/error.logエラーログの確認
sudo nginx -T全設定ファイルの一覧表示

これらのコマンドを使えば、Nginxの動作や設定状況を簡単に確認できます。問題が発生した場合は、設定やログを重点的に調査してください。

よかったらシェアしてね!
  • URLをコピーしました!
  • URLをコピーしました!

この記事を書いた人

AIアーティスト | エンジニア | ライター | 最新のAI技術やトレンド、注目のモデル解説、そして実践に役立つ豊富なリソースまで、幅広い内容を記事にしています。フォローしてねヾ(^^)ノ

コメント

コメントする

目次