데비안 표준 패키지에서 제공되는 버전 0.7.x를 제거한 후 소스별로 nginx 버전 1.4.1을 설치했습니다.
nginx를 시작할 수 service nginx start
있으며 netstat을 수행할 때 nginx가 포트 80을 예약하고 있음을 알 수 있습니다.
netstat -apn | grep nginx
산출:
tcp 0 0 0.0.0.0:80 0.0.0.0:* LISTEN 3115/nginx
문제는 내가 그렇게 하거나 다음 메시지를 받을 때 service nginx status
입니다 service nginx stop
.
nginx의 PID 파일에 액세스할 수 없습니다... 실패했습니다!
이 문제는 누가 고칠 수 있나요? 이 문제가 발생하지 않도록 하려면 어떻게 해야 합니까?
편집 : 솔루션
remove nginx
- 그런 다음 소스로 이동하여
./configure --pid-path=/var/run/nginx.pid
make
checkinstall make install
답변1
데비안은 아마도 기본적으로 수행되지 않는 특정 위치에 pid 파일을 넣기 위해 패키지의 nginx를 구성/패치했을 것입니다. 소스에서 컴파일된 것을 통해 교체하면 서비스 인프라의 기대치와 일치하지 않습니다.
나는 데비안 사람들이 어떤 패치와 구성 옵션을 수행했는지 살펴보고 pid 파일을 같은 위치에 두는 옵션을 사용하여 1.4.x 버전을 다시 컴파일했습니다.
이런 유형의 문제를 방지하는 방법은 무엇입니까? 패키지를 통해 작업을 수행하거나 소스에서 컴파일하지만 둘 다 수행할 수는 없습니다. 아니면 그렇게 하면 문제가 발생할 수 있으므로 각별히 주의해야 한다는 점을 기억하세요.