답변:
init 스크립트를 적절한 실행 레벨에 추가하려고합니다. init 스크립트는 일반적 /etc/init.d/apache2
으로 수동으로 실행 /etc/init.d/apache2 start
하여 시작할 수있는 곳입니다.
젠투에서는 다음과 같이 씁니다.
rc-update add apache2 default
우분투 / 데비안에서는 다음과 같이 작동합니다.
sudo update-rc.d apache2 defaults
Red Hat Linux / Fedora / CentOS에서 약간의 인터넷 검색에서 다음을 보여줍니다.
chkconfig --add httpd
배포판마다 약간 씩 다르지만 아이디어는 일반적으로 동일합니다. 기본적으로 이러한 모든 명령은 /etc/init.d/
에서 적절한 실행 수준 폴더로 심볼릭 링크를 만듭니다 /etc/
.
마침내 나를 위해 일한 것이 있습니다. 이것은 귀하가 루트 사용자라고 가정합니다.
/etc/init.d/apache2의 내용 :
#! / bin / bash # # apache2 Apache HTTP Server 시작 스크립트 # # chkconfig : 3 85 15 # 설명 : Apache는 월드 와이드 웹 서버입니다. 봉사하는 데 사용됩니다 \ # HTML 파일 및 CGI. / usr / local / apache2 / bin / apachectl $ @
내 경우에는 3 인 / sbin / runlevel을 실행하여 실행 수준을 얻을 수 있습니다. 물론 내 경우에는 / usr / local / apache2 / bin / apachectl 인 apachectl 버전을 호출해야합니다.
다음 덕분에 :
소스로 설치 했으므로 /etc/init.d/ 디렉토리에 init 스크립트가 설치되지 않습니다. apachectl 바이너리는 표준 init 스크립트 옵션과 호환되도록 설계되었으므로 래퍼 스크립트 (예 : ln -s / usr / local / sbin / apachectl /etc/init.d/)를 작성하는 대신 간단히 심볼릭 링크 할 수 있습니다. 아파치)
그런 다음 다른 게시물에 요약 된 절차에 따라 링크를 추가하여 올바른 런레벨에서 init 스크립트를 호출 할 수 있습니다.
인용 : 아파치 문서 http://httpd.apache.org/docs/2.2/invoking.html
부팅시 시작
시스템 재부팅 후 서버를 계속 실행하려면 시스템 시작 파일 (일반적으로 rc.local 또는 rc.N 디렉토리의 파일)에 apachectl에 대한 호출을 추가해야합니다. 그러면 루트로 Apache가 시작됩니다. 이 작업을 수행하기 전에 서버가 보안 및 액세스 제한에 맞게 올바르게 구성되어 있는지 확인하십시오.
apachectl 스크립트는 표준 SysV init 스크립트처럼 작동하도록 설계되었습니다. 인수 start, restart 및 stop을 사용하여 httpd에 대한 적절한 신호로 변환 할 수 있습니다. 따라서 종종 apachectl을 적절한 init 디렉토리에 링크 할 수 있습니다. 그러나 시스템의 정확한 요구 사항을 확인하십시오.
Red Hat Linux에는 현재 실행 레벨에서 시작할 서비스를 선택할 수있는 ntsysv라는 유용한 유틸리티가 있습니다. 를 사용하여 유틸리티를 시작할 때 편집 할 실행 레벨을 지정하십시오 --level
.
아래로 스크롤하여 httpd로 스크롤 Space하여 왼쪽 상자에 별표가 표시되도록합니다. 그런 다음 Tab확인하십시오. Return저장하고 쉘로 돌아가려면을 누르십시오 .
기본적으로 거의 설치되는 것으로 나타났습니다. 나는 그것이 설치되지 않은 위치에 적이있다.
서비스 스크립트를 /etc/init.d에 복사 한 후 다음을 실행하여 서비스를 먼저 설치해야합니다.
chkconfig --add <script name>
그것은 당신의 리눅스 맛에 달려 있습니다. /etc/init.d/apache2 파일이 작성되었다고 가정하면 다음을 시도하십시오.
chkconfig -a apache2
또는
update-rc.d apache2 defaults
그들 중 하나가 작동해야합니다.