Apacheが正常に起動したか確認する方法
目次
スポンサードリンク
ApacheはオープンソースのWebサーバソフトウェアです。この記事ではApacheが正常に起動したか確認する方法を紹介します。
ブラウザでアクセスする方法
最もシンプルな方法です。ブラウザでサーバーのIPアドレスやドメインにアクセスしページが正常に表示できるか確認してみましょう。
ファイアウォールでWebサーバーへのアクセスが制限されている場合や、仮想ホストの設定が間違っている場合は、Apacheプロセス自体が正常に起動していても、ブラウザでアクセスすると正しく表示されないことがある点は注意しましょう。
コマンドで起動状態を確認する方法
ブラウザで表示するだけでなく、より詳細な情報を確認したい場合は、コマンドでApacheプロセスの状態を確認する方法があります。OSの系統により異なりますが、大部分の環境では下記コマンドで状態を確認することができます。
RHELの場合
RHELやCentOSの場合は、service httpd status コマンドで状態を確認することができます。起動状態(Activeかどうか)や起動からの経過時間、プロセスID(PID)などを確認することができます。apachectl status コマンドでも同様の結果を得ることができます。
[root@hostname conf]# service httpd status
Redirecting to /bin/systemctl status httpd.service
● httpd.service - The Apache HTTP Server
Loaded: loaded (/usr/lib/systemd/system/httpd.service; enabled; vendor preset: disabled)
Active: active (running) since Tue 2022-02-08 18:14:18 JST; 2 years 5 months ago
Docs: man:httpd(8)
man:apachectl(8)
Process: 24137 ExecReload=/usr/sbin/httpd $OPTIONS -k graceful (code=exited, status=0/SUCCESS)
Main PID: 18285 (httpd)
Status: "Total requests: 0; Current requests/sec: 0; Current traffic: 0 B/sec"
CGroup: /system.slice/httpd.service
├─12055 /usr/sbin/httpd -DFOREGROUND
├─12953 /usr/sbin/httpd -DFOREGROUND
├─18285 /usr/sbin/httpd -DFOREGROUND
├─24147 /usr/sbin/httpd -DFOREGROUND
├─31594 /usr/sbin/httpd -DFOREGROUND
├─31600 /usr/sbin/httpd -DFOREGROUND
├─31605 /usr/sbin/httpd -DFOREGROUND
├─31609 /usr/sbin/httpd -DFOREGROUND
├─31613 /usr/sbin/httpd -DFOREGROUND
├─31630 /usr/sbin/httpd -DFOREGROUND
└─31633 /usr/sbin/httpd -DFOREGROUND
Debian/Ubuntuの場合
DebianやUbuntuの場合は、systemctl status apache2 コマンドで状態を確認することができます。RHELと同様、起動状態や起動からの経過時間、プロセスIDなどを確認することができます。
root@hostnema:~$ systemctl status apache2
● apache2.service - The Apache HTTP Server
Loaded: loaded (/lib/systemd/system/apache2.service; enabled; vendor preset: enabled)
Active: active (running) since Fri 2024-07-19 06:28:43 JST; 2 weeks 5 days ago
Docs: https://httpd.apache.org/docs/2.4/
Process: 3493066 ExecReload=/usr/sbin/apachectl graceful (code=exited, status=0/SUCCESS)
Main PID: 2718594 (apache2)
Tasks: 55 (limit: 2260)
Memory: 49.8M
CGroup: /system.slice/apache2.service
├─2718594 /usr/sbin/apache2 -k start
├─3493071 /usr/sbin/apache2 -k start
└─3493072 /usr/sbin/apache2 -k start
プロセス一覧を確認する方法
ps コマンドを使うと、Apacheが正常に起動しているか確認することができます。正常に起動している場合は、以下のようにApacheプロセスを確認することができます。
ps aux コマンドで全てのプロセスを表示し、grepコマンドで httpd を含む行のみに表示を絞り込んでいます。下記はRHELで試しましたが、DebianやUbuntuで実行する場合は、apache などで絞り込んでください。
下記を見ると、root で実行している 親プロセスと、apacheユーザーで実行している子プロセスが複数いることが確認できます。
[root@hostname conf]# ps aux | grep httpd
root 5301 0.0 0.0 112708 980 pts/0 S+ 12:02 0:00 grep --color=auto httpd
apache 12055 0.0 0.6 255156 6888 ? S Aug04 0:00 /usr/sbin/httpd -DFOREGROUND
apache 12953 0.0 0.6 255224 6892 ? S Aug04 0:01 /usr/sbin/httpd -DFOREGROUND
root 18285 0.0 0.8 254796 7984 ? Ss 2022 56:05 /usr/sbin/httpd -DFOREGROUND
apache 24147 0.0 0.6 255156 6884 ? S Aug04 0:01 /usr/sbin/httpd -DFOREGROUND
apache 31594 0.0 0.6 255220 6856 ? S Aug06 0:00 /usr/sbin/httpd -DFOREGROUND
apache 31600 0.0 0.6 255180 6836 ? S Aug06 0:00 /usr/sbin/httpd -DFOREGROUND
apache 31605 0.0 0.6 255240 6796 ? S Aug06 0:00 /usr/sbin/httpd -DFOREGROUND
apache 31609 0.0 0.6 255220 6804 ? S Aug06 0:00 /usr/sbin/httpd -DFOREGROUND
apache 31613 0.0 0.6 255220 6852 ? S Aug06 0:00 /usr/sbin/httpd -DFOREGROUND
apache 31630 0.0 0.6 255220 6848 ? S Aug06 0:00 /usr/sbin/httpd -DFOREGROUND
apache 31633 0.0 0.6 255220 6868 ? S Aug06 0:00 /usr/sbin/httpd -DFOREGROUND
何らかの理由で Apacheが起動に失敗した場合、プロセス自体が存在しないのですぐに異常があると気づくことができます。Apacheを起動した後はすぐにこのコマンドでプロセスの状態を確認する癖をつけるとよいでしょう。
エラーログを確認する方法
Apacheプロセスが存在しないなど、何らかの理由でApacheが起動しなかった場合は、エラーログを確認しましょう。エラーログには、起動に失敗した原因や、リクエスト処理中に発生したエラーなどが記録されています。エラーメッセージを参考に、問題を特定することができます。
ログの出力場所は下記で解説しています。アクセスログについての記事ですが、エラーログもアクセスログと同じ場所に出力されています。エラーログは通常、アクセスログと同じディレクトリに error_log という名前で保存されています。詳細な場所は、httpd.confの設定で変更可能です。
Linuxの基礎からセキュリティまで、サーバー運用に必要な知識をまとめた書籍
Webシステムの基礎について徹底的に学べるUdemy講座
【PHP, MYSQL, Apache】ガチで学びたい人のためのWEB開発の基礎
Search
Recent Posts
- OpenSSHのエラー「bad ownership or modes for chroot directory component」の原因と解消方法
- Apacheの起動状態をチェックして停止してる場合にApacheを起動するシェルスクリプト
- Amazon LinuxのOSバージョンを調べる方法|/etc/redhat-release の代替ファイル
- MYSQLでダンプファイルを取得する際に発生したエラー「Couldn't execute 'SELECT BINLOG_GTID_POS('', '0')': You are not using binary logging (1381)」の原因と対処方法
- RHEL系Linuxでリポジトリを一覧表示するコマンド(dnf repolist)