Linux에서 bootime에서 Apache를 시작하려면 어떻게합니까? 시작하려면 어떻게해야합니까? 이것은 Red Hat

Linux 상자의 소스에서 Apache 2를 설치했습니다. apachectl -k start잘 작동하지만 부팅시 Apache를 시작하려면 어떻게해야합니까?

이것은 Red Hat Linux 배포판에 있습니다 :

Linux <호스트 이름> 2.6.9-55.ELsmp # 1 SMP 금 4 월 20 일 17:03:35 EDT 2007 i686 i686 i386 GNU / Linux



답변

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/.


답변

마침내 나를 위해 일한 것이 있습니다. 이것은 귀하가 루트 사용자라고 가정합니다.

  1. vi /etc/init.d/apache2 (아래 그림과 같이 편집)
  2. chmod 755 /etc/init.d/apache2
  3. chkconfig –apache2 추가
  4. chkconfig –list apache2 (작동하는지 확인)

/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 버전을 호출해야합니다.

다음 덕분에 :


답변

디렉토리에 httpdinit 스크립트 가 있는지 확인하십시오 /etc/rc.d. 그렇다면 다음 명령을 실행하여 부팅시 httpd 서비스를 시작할 수 있습니다.

chkconfig --level 345 httpd on

init 스크립트가 없다면 /etc/rc.local파일을 apachectl -k start(Apache를 시작하는 명령)으로 추가하십시오 .


답변

소스로 설치 했으므로 /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 디렉토리에 링크 할 수 있습니다. 그러나 시스템의 정확한 요구 사항을 확인하십시오.


답변

chkconfig-수준 345 httpd

런레벨 3,4,5에서 httpd를 시작합니다.

chkconfig –list는 모든 서비스와 현재 시작 런레벨을 보여줍니다. 345는 네트워크 서비스에 일반적입니다.


답변

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

그들 중 하나가 작동해야합니다.