Apache 웹 서버가 Linux 서버(CentOS)에서 실행되고 있는지 확인하고 싶을 때 명령 ps
과 ss
명령 추적을 통해 두 가지 솔루션을 생각해 냈습니다. 내가 시도한 것은 다음과 같습니다.
ps -aux | grep httpd
ss -tulwn | grep LISTEN | grep 80
노트:범용 바이너리를 사용하여 Apache를 설치했지만 systemd
아직 구성 파일을 만들지 않았습니다. 이 명령을 사용하고 싶지 않기 때문입니다.
systemctl status httpd
그렇다면 활동 상태나 Linux 서버에 Apache 웹 서버가 설치되어 있는지 여부를 추적하는 효과적이고 효율적인 방법은 무엇입니까?
답변1
서버가 시작되었음을 알 수 있습니다. 단순히 서비스를 수행하고 있다는 사실을 아는 것만으로는 충분하지 않습니다. 따라서 프로세스가 실행 중인지 확인하는 것을 잊지 마십시오. 대신, 어떤 일을 할 수 있는지 확인하세요.
즉, 웹페이지를 요청합니다.
답변2
그것은 당신이 알고 싶은 수준에 따라 다릅니다.
실제로 작동하는지 확인하려면 다음을 사용하십시오.
if curl --output /dev/null --silent --head --fail "$url"; then
echo yes
else
echo no
fi
특정 페이지에 관심이 없다면 다음과 같이 하세요.
if curl -s url ; then
echo jes
else
echo no
fi
아파치가 어떤 포트를 듣고 있는지 알고 싶다면,
sudo lsof -i -P -n | grep LISTEN
이 정보를 제공합니다.
프로세스가 실행 중인지 알고 싶다면,
if ps -aux | grep 'http[d]' ; then
echo yes
else
echo no
fi
그러면 문제가 해결될 것입니다.