/etc/rc3.d
서버가 재부팅될 때 실행되지 않는 Apache를 시작하는 명령이 있습니다 . 스크립트의 이름은 입니다 S75Apache2
. 누군가는 링크 이름에 대문자 "A"가 있고 이름을 로 변경하면 작동할 수 있기 때문이라고 추측했습니다 S75apache2
.
누구든지 확인할 수 있습니까? 문서를 검색했지만 답변을 찾을 수 없습니다. 서버를 다시 재부팅하지 않고는 실제로 이것을 테스트할 수 없습니다(나는 그렇게 하고 싶지 않습니다).
답변1
Solaris 초기화 스크립트는 고통스럽습니다. 대문자 A는 중요하지 않습니다. 'S'로 시작 /etc/rc.d
하는 모든 파일을 찾아서 /etc/rc3.d
숫자 순서대로 실행하는 스크립트가 있습니다.
이제 기본부터 시작하겠습니다.
설정이 실행 가능 합니까
/etc/rc3.d/S75Apache2
?해당 스크립트에 '#!'이 있습니까? 선? 행이 정확합니까(인쇄되지 않는 바이트 등이 없음)?
bash 또는 ksh 스크립트인 경우
ksh -n /etc/rc3.d/S75Apache2 start
. 구문 오류가 있는지 알려줍니다.해당 스크립트를 루트로 실행할 수 있으면 시도해 보십시오. 스크립트
/etc/rc3.d/S75Apache2 start
가 시작되고 중지/etc/rc3.d/S75Apache2 stop
되는지 주의 깊게 확인하십시오 . 최소한 'start' 및 'stop' 인수를 사용하여 스크립트를 직접 실행하십시오. 런타임에 스크립트가 수행하는 작업을 확인하는 데 사용됩니다 . 그것이 하는 일이 당신이 믿는 것과 일치하는지 확인하십시오.httpd
httpd
set -x
주의 깊게 읽으십시오
/etc/rc3.d/S75Apache2
.PATH
부팅 시에는 드물게 채워지며 스크립트는 부팅 시 일부 실행 파일의 위치를 알지 못하지만 부팅 후 실행할 때는 알 수 있습니다. 너무 많이 가정하지 마십시오. 존재한다고 생각하는 파일이 존재하지 않을 수도 있습니다.KnnApache2
에 스크립트가 없는지 확인하세요/etc/rc3.d
. 나는 (예를 들어) 실행 레벨 3에서 실행 레벨 5로 전환되면 Solaris가init
실행될 것이라고 믿습니다.K76Apache2 stop
스크립트가 사용자 ID를 적절하게 변경하는지 확인하십시오. 스크립트가
apachectl start
일부 프롤로그 명령을 사용하여 호출한다는 점을 고려하면 이는 Apache에서는 중요하지 않을 수 있습니다. 그러나 직접 실행하는 경우 결과 프로세스에 올바른 사용자 ID가 있는지http
확인하십시오 . 올바른 결과를 얻으려면 스크립트에서 또는 무언가를httpd
사용하세요 .sudo
답변2
시작 스크립트에 버그가 있는 것으로 나타났습니다. LD_LIBRARY_PATH 변수가 제대로 설정되지 않았습니다. 스크립트에서 이를 정의하면 문제가 해결됩니다.
나중에 참조할 수 있도록 문제 해결의 원인이 된 오류가 포함된 시작 메시지가 포함된 로그 파일이 있습니다. 파일은 다음과 같습니다
/var/svc/log/milestone-multi-user-server:default.log
/etc/rc3.d/README 파일에서 이에 대한 참조를 찾았습니다. 또 다른 날, 또 다른 지식 덩어리!
답변3
자신만의 Apache를 배포했습니까(즉, 소스 코드에서 컴파일했습니까?) 아니면 단순히 Solaris 10에 사전 설치된 Apache를 사용하고 있습니까?
글쎄요, 당신이 말하는 대로 Solaris 10(또는 그 이상)을 사용하고 있다면 그것은 별로 중요하지 않습니다.Solaris 초기화 스크립트를 전혀 사용하면 안 됩니다., SMF를 사용해야 합니다. (예, 기술적으로 init 스크립트는 여전히 지원되지만 지적했듯이 이는 고통스럽고 SMF가 훨씬 좋습니다)
Solaris 10과 함께 사전 설치되어 제공되는 Apache 2.2 웹 서버를 시작하려면(지금 및 재부팅 후에도 자동으로) 다음을 수행하십시오.
svcadm 활성화 /network/http:apache2
자체 Apache를 롤링한 경우 SMF 매니페스트를 생성하고 매니페스트를 가져온 다음 시작해야 합니다. Google에서 "SMF Solaris"를 검색하면 많은 레시피를 찾을 수 있습니다.