サーバー内に複数のWebサーバー(Nginx、Apache、Lighttpdなど)がインストールされている場合、どのWebサーバーが実際に稼働しているかを確認する方法を以下に説明します。
1. 実行中のプロセスを確認
稼働中のWebサーバーを確認するには、ps
コマンドを使用します。
コマンド例:
ps aux | grep -E 'nginx|apache2|httpd|lighttpd'
出力例(Nginxが稼働中の場合):
root 555299 0.0 0.1 21800 6076 ? S Nov25 0:00 nginx: master process
systemd+ 555347 0.0 0.1 22356 5416 ? S Nov25 0:00 nginx: worker process
出力例(Apacheが稼働中の場合):
root 12345 0.0 0.1 123456 7890 ? S Nov25 0:00 /usr/sbin/apache2 -k start
www-data 67890 0.0 0.1 234567 8901 ? S Nov25 0:00 /usr/sbin/apache2 -k start
出力例(Lighttpdが稼働中の場合):
root 45678 0.0 0.1 345678 1234 ? S Nov25 0:00 /usr/sbin/lighttpd -D -f /etc/lighttpd/lighttpd.conf
2. ポートを占有しているプロセスを確認
Webサーバーは通常、ポート80(HTTP)や443(HTTPS)を使用します。それらのポートを占有しているプロセスを確認します。
コマンド例:
sudo lsof -i :80
sudo lsof -i :443
出力例(Nginxがポート80を占有している場合):
COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME
nginx 555299 root 4u IPv4 123456 0t0 TCP *:http (LISTEN)
出力例(Apacheがポート80を占有している場合):
COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME
apache2 12345 root 4u IPv4 123456 0t0 TCP *:http (LISTEN)
3. サービスの状態を確認
systemctl
コマンドを使用して、Webサーバーのサービス状態を確認します。
コマンド例:
sudo systemctl list-units --type=service | grep -E 'nginx|apache2|lighttpd'
出力例(Nginxが稼働中の場合):
nginx.service loaded active running A high performance web server and a reverse proxy server
出力例(Apacheが稼働中の場合):
apache2.service loaded active running The Apache HTTP Server
4. ポートへのリクエスト送信
実際にサーバーにHTTPリクエストを送信して、応答ヘッダーからWebサーバーを確認します。
コマンド例(ポート80にリクエストを送信):
curl -I http://localhost
出力例(Nginxが応答している場合):
HTTP/1.1 200 OK
Server: nginx/1.27.2
出力例(Apacheが応答している場合):
HTTP/1.1 200 OK
Server: Apache/2.4.41 (Ubuntu)
5. Webサーバーのインストール状況を確認
サーバーにインストールされているWebサーバーを確認するには、以下のコマンドを使用します。
コマンド例:
dpkg -l | grep -E 'nginx|apache2|lighttpd'
または(RHEL系の場合):
rpm -qa | grep -E 'nginx|httpd|lighttpd'
出力例:
ii nginx 1.27.2 A high performance web server and a reverse proxy server
ii apache2 2.4.41 Apache HTTP Server
6. 設定ファイルの確認
設定ファイルの存在で使用中のWebサーバーを推測できます。
- Nginxの設定ファイル:
/etc/nginx/nginx.conf
- Apacheの設定ファイル:
/etc/apache2/apache2.conf
- Lighttpdの設定ファイル:
/etc/lighttpd/lighttpd.conf
コマンド例:
ls /etc/nginx/nginx.conf
ls /etc/apache2/apache2.conf
ls /etc/lighttpd/lighttpd.conf
まとめ
- 実行中のプロセスを確認(
ps aux
) - ポートを占有しているプロセスを確認(
lsof
) - サービスの状態を確認(
systemctl
) - サーバーからの応答を確認(
curl
) - インストール状況や設定ファイルを確認(
dpkg
またはrpm
)
これらの方法で、稼働中のWebサーバーを特定できます。
コメント