Nginx 서비스가 시작되면, 서비스를 제어 할 수 있게 프로세스 id를 담당하는 것이 필요하다.
그것이 바로 Nginx.pid
그런데, 가끔 소스로 설치하거나 자신도 모르게 삭제된 경우가 있다.
이럴때 서비스를 실행하면, nginx.pid failed (2 no such file or directory) 나 nginx.pid missing 에러를 띄우고
명령어는 먹히더라도 먹통처럼 보이고 reload 나 restart를 위해 프로세스를 수동으로 죽여야 한다.
처음 필자는 pid확장자로 파일을 하나 만들어주면 되는 줄 알았다.
몇시간의 검색 끝에 찾아낸 것이 심볼릭 링크를 만들어 주어야 한다는 것이다.
해결법을 알아내었으니 이후는 쉽다.
우선 nginx.conf 에서 어디로 지정되어있는지 확인한다.
/run/nginx.pid 경로로 지정되어 있고, 이제 서비스가 실행할때 읽어오는 경로를 확인한다.
systemctl status nginx.service 나 journalctl -xe 를 실행해준다.
확인결과 필자는 /usr/local/nginx/logs/nginx.pid 에서 읽어온다.
따라서 심볼릭 링크는 아래와 같이 실행해주면 된다.
ln -s /run/nginx.pid /usr/local/nginx/logs/nginx.pid
'OS > Ubuntu' 카테고리의 다른 글
[Ubuntu] [emerg] bind() to 0.0.0.0:80 failed (98: Address already in use) (0) | 2016.11.20 |
---|---|
[Ubuntu] Nginx 소스로 설치하기 (0) | 2016.11.20 |
[Ubuntu] Nginx + php5-fpm 연동하기 (0) | 2016.06.23 |
[Ubuntu] 우분투 tar.gz 압축하기, 압축풀기 (0) | 2016.06.18 |
[Ubuntu] 우분투 Nginx 설치 (0) | 2016.06.18 |