-
[Linux/PHP/CI] 서버의 용량이 가득차서 접속이 안될 경우 로그파일을 확인하세요!Linux 2020. 6. 28. 01:27
오후 12시 갑자기 서버에 접속이 안되는 이슈가 발생했습니다.
아직 서버에 대한 지식이 부족한 탓에 원인조차 파악을 못하고 있었는데
의심스러운 부분이 한 곳 있었습니다.
현재 Azure VM을 사용해서 서버를 운영하고 있는데,
시스템 용량을 99.9% 사용 중인 것이 확인되었습니다.
따로 스토리지를 사용하고 있어, 서버의 용량이 크게 차지하지 않는 상황이라
어디에서 용량을 많이 차지하고 있는지 원인을 찾을 필요가 있었습니다.
$ df -h
디스크에서 사용 중인 용량을 보여주는 명령어를 입력하면
요런 상태를 볼 수 있는데, 지금은 /dev/sdal1이 57% 사용 중 이지만,
서버에 접속되지 않았을 때는 100% 사용 중으로 나왔습니다.
현재 PHP Codeigniter를 통해 개발을 하고 있었기 때문에,
해당 폴더의 용량을 확인 하는 명령어로 확인해보니 원인이 로그파일이었음을 확인했습니다.
$du -h
application/logs 폴더를 비운 후에, 로그 세팅을 변경했습니다.
$config['log_threshold'] = 1;
application/config/config.php 파일에서
log_threshold 값을 1로 변경하게 되면, PHP ERROR_LOG만 쌓이게 됩니다.
현재 개발서버 / 운영서버를 따로 운영 중이기 때문에,
운영서버에는 Error Message만 쌓이도록 하고,
개발서버에는 Error Message와 Debug Message 두가지만 쌓이도록 설정했습니다.
if (isset($_SERVER['CI_ENV']) && $_SERVER['CI_ENV'] == 'development') { $config['log_threshold'] = 2; } else { $config['log_threshold'] = 1; }
0 = Disables logging, Error logging TURNED OFF
1 = Error Messages (including PHP errors)
2 = Debug Messages
3 = Informational Messages
4 = All Messages본인이 필요한 값으로 세팅하시면 될 것 같습니다.
당장 급한 불은 껐지만, 앞으로 또 비슷한 이슈가 발생할 수 있으니 서버에 대해 더욱 깊게 공부할 필요를 느낍니다.
'Linux' 카테고리의 다른 글
[PHP/Linux/Ubuntu] crontab으로 PHP 스케줄링 세팅 (0) 2021.02.21 [Linux/Apache2] Let's encrypt SSL 보안인증서 갱신하는 방법 (0) 2020.05.28 [Linux/WSL] Windows10 에서 리눅스 사용하는 방법 (0) 2020.05.01 [Linux,Apache2] .git 디렉토리 접근 차단하기 (0) 2020.02.17 [Linux/Apache2] HTTP에서 HTTPS(SSL) 마이그레이션 하는 방법 (0) 2020.01.08