내 웹사이트에 접속하려고 하면 갑자기 더 이상 접속할 수 없습니다. 내 오류 로그를 확인하고 이것을 발견했습니다.
[Sun Jul 19 03:10:01.233369 2015] [auth_digest:notice] [pid 2570] AH01757: generating secret for digest authentication ...
[Sun Jul 19 03:10:01.233948 2015] [lbmethod_heartbeat:notice] [pid 2570] AH02282: No slotmem from mod_heartmonitor
[Sun Jul 19 03:10:01.250268 2015] [mpm_prefork:notice] [pid 2570] AH00163: Apache/2.4.12 (Amazon) PHP/5.4.41 configured -- resuming normal operations
[Sun Jul 19 03:10:01.250288 2015] [core:notice] [pid 2570] AH00094: Command line: '/usr/sbin/httpd'
[Mon Jul 20 01:16:46.175258 2015] [suexec:notice] [pid 2567] AH01232: suEXEC mechanism enabled (wrapper: /usr/sbin/suexec)
[Mon Jul 20 01:16:46.198570 2015] [auth_digest:notice] [pid 2570] AH01757: generating secret for digest authentication ...
[Mon Jul 20 01:16:46.199282 2015] [lua:error] [pid 2570] (17)File exists: AH02665: mod_lua: Failed to create shared memory segment on file /tmp/httpd_lua_shm.2570
[Mon Jul 20 01:16:46.199302 2015] [:emerg] [pid 2570] AH00020: Configuration Failed, exiting
그런 다음 httpd 서비스를 다시 시작해 보았습니다. 나는 이것을 보았다
Stopping httpd: [ Failed ]
Starting httpd: [ OK ]
서비스를 다시 시작한 후 이제 내 웹사이트에 다시 액세스할 수 있습니다.
여기에 무슨 문제가 있는 것 같나요? 서버를 만지거나 다시 시작하지 않았는지 확인했습니다. 내가 경험한 일과 이러한 일이 다시 발생하지 않도록 방지하는 방법을 설명해 줄 수 있는 사람이 있나요? 내 사용자가 내 사이트에 액세스할 수 없다는 사실을 깨닫고 있다는 사실은 전혀 몰랐습니다.
다음은 몇 가지 관련 정보입니다.
Server version: Apache/2.4.12 (Amazon)
Server built: Mar 18 2015 20:24:15
답변1
추가 정보가 없으면 오류는 다음과 관련된 것 같습니다.
(17) 파일이 존재합니다: AH02665: mod_lua: /tmp/httpd_lua_shm.2570 파일에 공유 메모리 세그먼트를 생성할 수 없습니다.
그러면 mod_lua가 더 이상 실행되지 않기 때문에 사이트가 응답하지 않게 됩니다.
AH00020: 구성 실패, 종료 중
Apache를 다시 시작하면 작동하지 않는 작업자 프로세스를 복구할 수 있습니다. 다시 로드하면 문제가 "수정"될 수도 있습니다. 문제 해결의 첫 번째 단계는 mod_lua가 파일을 생성할 수 없는 이유를 찾는 것입니다. 이것은 버그(파일을 두 번 열려고 시도함), 권한 문제(Apache 사용자가 파일에 액세스할 수 없음) 또는 시스템 문제(파일이 존재하지 않아야 하는데도 스레드가 계속 사용하고 있기 때문에 파일이 존재함)입니까? 좀비 프로세스) . 이 오류는 정확하지 않을 수 있습니다. 파일이 존재하기 때문이 아니라 다른 이유일 수도 있습니다. 먼저 그것을 찾아야합니다. 비슷한 방법을 사용하여 lsof
파일이 존재하고 삭제되지 않은 이유를 확인할 수도 있습니다.
좀비 프로세스라면 서버를 다시 시작하면 문제가 해결되지만, mod_lua에 대해서는 버그 리포트를 제출하겠습니다. 임시 파일 생성에 실패하면 다른 파일을 사용해야 합니다. 하지만 2570은 아파치의 PID처럼 보입니다. 따라서 아파치를 완전히 종료한 다음 다시 시작해 보세요(아파치).