이 시나리오에 대한 최적의 Apache2 구성

이 시나리오에 대한 최적의 Apache2 구성

이 시나리오에서 Apache 웹 서버에 가장 적합한 구성에 대한 의견을 듣고 싶습니다.

정기적으로 실행되는 다수의 스크립트(PHP)가 있습니다. 대부분은 동시에 실행되거나 cron 작업을 통해 동일한 시간 간격으로 실행됩니다.

웹페이지라고 불리며 PHP로 작성된 이러한 스크립트를 더 많이 추가함에 따라, 모두 함께 실행되면서 도중에 일부 스크립트를 '잃어버릴' 수도 있다는 걱정이 듭니다.

'아무도' 실제로 페이지를 보지도 않고 페이지가 로드될 때까지 기다리지도 않기 때문에(초 지연은 문제가 되지 않습니다) 모든 페이지 호출이 실제로 처리되는지 확인하기 위해 살펴봐야 할 apache2.conf의 설정이 궁금합니다. (몇 초의 지연이 있더라도) Apache가 특정 기간 동안 처리할 수 없는 경우 이를 버리는 대신(웹 서버를 탐색하는 사람이 보는 표준 html/php 페이지와는 대조적으로) 아무도 실제로 기다리고 있지 않은 스크립트를 실행하는 페이지일 뿐입니다.)

내 이상적인 해결책은 페이지(크론을 통해 호출되는 페이지)가 특정 시간 프레임에 실행되지 않았기 때문에 아파치가 죽이는 대신 다음 배치가 호출될 때까지 또는 더 조용한 기간에 하나씩 쌓아서 처리하는 것입니다.

물론 다음 배치가 실행될 예정인 것보다 더 많은 시간 동안 대기열에 있으면 문제가 있다는 것을 이해합니다.

같은 메모에서 아파치가 대기열에 있거나 처리 중인 페이지를 어떻게 볼 수 있습니까?

미리 감사드립니다.

답변1

cron에 액세스할 수 있는 경우 이 상황에서는 Apache를 사용할 필요가 실제로 없다고 생각됩니다. 페이지를 제공할 필요는 없으며 코드만 실행하면 됩니다.

간단히 이런 것을 시도해 보는 것은 어떨까요?

#!/usr/bin/env php
<?php

[Your code here.
 Perhaps even send e-mail updates 
 including with the status of your script,
 or update a lightweight database each time
 the script has run.]

이 스크립트를 /path/to/script.php로 간단히 저장하고 crontab에서 호출 php /path/to/script.php(또는 간단히 를 ./path/to/script.php사용하여 파일에 실행 권한을 추가하는 경우 chmod +x)하면 작업이 수행되고 Apache 오버헤드가 많이 절약됩니다.

관련 정보