![Apache 웹 서버가 실행 중인지 추적하는 가장 좋고 효율적인 방법은 무엇입니까?](https://linux55.com/image/187753/Apache%20%EC%9B%B9%20%EC%84%9C%EB%B2%84%EA%B0%80%20%EC%8B%A4%ED%96%89%20%EC%A4%91%EC%9D%B8%EC%A7%80%20%EC%B6%94%EC%A0%81%ED%95%98%EB%8A%94%20%EA%B0%80%EC%9E%A5%20%EC%A2%8B%EA%B3%A0%20%ED%9A%A8%EC%9C%A8%EC%A0%81%EC%9D%B8%20%EB%B0%A9%EB%B2%95%EC%9D%80%20%EB%AC%B4%EC%97%87%EC%9E%85%EB%8B%88%EA%B9%8C%3F.png)
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
그러면 문제가 해결될 것입니다.