Apache를 어떻게 다시 시작합니까?


249

SLES에서 Ubuntu로 전환했으며 이제 로컬 서버를 다시 시작하려고합니다. SLES에서는 다음을 사용했습니다.

rcapache2 restart

그러나 이것은 어떻게 든 우분투에서 작동하지 않는 것 같습니다. :(

Apache를 다시 시작하려면 어떻게합니까?

답변:


364

sudo service apache2 restart Red Hat에서 빌린 방식으로


1
나는 serviceLSB 방식 이라고 생각 하며 데비안과 우분투가 마침내 그것을 얻었으므로 대부분의 배포판에서 작동해야 합니다.
Marius Gedminas

10
sudo restart apache2에서 작동하지 않습니다 Ubuntu 12.04. 다른 우분투 버전을 확신하지 못합니다.
saji89

2
@ saji89 당신이해야 sudo service apache2 restart할 경우 작동합니다.
Kevdog777

9
sudo restart apache2우분투 14.04에서 작동하지 않습니다. sudo service apache2 restart열심히 일하고 있습니다.
toesslab

105

Apache 를 다시 시작 하시겠습니까 , 아니면 구성 을 정상적으로 다시로드 하시겠습니까?

모두가 첫 번째 질문에 대답하고있었습니다. 당신은 두 번째를 할 수 있습니다

sudo service apache2 reload

정상적으로 다시로드하는 것이 약간 빠르며 가동 중지 시간이 없습니다.

주의 사항 : 아파치 구성 파일에 오류가 포함 된 경우 (예 : 존재하지 않는 디렉토리에 로그 파일 구성) 오류 메시지를 콘솔에 인쇄하지 않고 서버가 자동으로 종료 될 수 있습니다. 대부분의 다른 오류가에 의해 체포되어 apache2ctl configtestservice apache2 reload와 실제 재 장전을하기 전에 실행됩니다 apache2ctl graceful.


1
예! 웹 사이트 뷰어를 시작하지 않고 다시 시작하려면 정상적으로 사용하는 것이 훨씬 좋습니다!
13:33에

나는의 장점이다 것을 발견 다시 시작 아파치는 다음 실행되고 있지 않은 경우는 것으로 시작합니다 . -> 다시로드시작 됩니까?
Torben Gundtofte-Bruun

구성 파일에서 구문 오류가 발생하면 다시로드가 실행중인 아파치를 중지합니다.
Marius Gedminas

3
sudo apache2ctl configtest정상적으로 다시 시작하기 전에 항상 실행하십시오 . 구성에 구문 오류가있는 경우 정상 재시작이 실패하고 아파치가 중지됩니다.
Mikko Rantalainen 2016 년

@MikkoRantalainen : 감사합니다, 나는 원료를 드롭 대답을 편집 한 apache2ctl graceful단지 추천 대신 service apache2 reload실행되는, configtestgraceful.
Marius Gedminas 2016 년

26

우분투에서 아파치뿐만 아니라 서비스를 시작 / 중지하는 데 권장되는 방법은 start / stop / reload 명령 (실제로는 upstart의 일부인 initctl 프로그램 에 대한 심볼릭 링크)을 사용하는 것 입니다.

레거시 /etc/init.d스크립트 를 사용하는 서비스의 경우 해당 스크립트가 올바른 매개 변수와 함께 호출됩니다. upstart 인프라를 사용하는 서비스의 경우 적절한 이벤트 전환이 initctl을 통해 upstart 데몬 으로 신호됩니다 .

따라서 우분투에서 아파치를 시작 / 중지 / 다시로드 / 다시 시작하려면 다음을 사용할 수 있습니다.

sudo start apache2
sudo stop apache2
sudo reload apache2
sudo restart apache2

20
sudo /etc/init.d/apache2 restart

물론 당신은 밖으로 교환 할 수 restart에 대해 stop, start(나는 생각한다) 및reload


2
최근 우분투 에서이 작업을 수행하면 원하는 명령을 계속 수행하지만 새로운 방식으로 수행한다는 메시지가 표시됩니다.
jfmessier

나는 아파치가 아직 Upstart로 옮겼다는 것을 몰랐다.
Oli

더 이상 그 메시지가 보이지 않습니다.
Tim


11

Marius가 말했듯이 우아한 다시 시작해야합니다.

sudo apache2ctl graceful

또는

sudo apache2ctl graceful-stop

아파치를 정상적으로 중지시킵니다.

이 명령은 웹 서버를 다시 시작 / 중지하기 전에 웹 페이지에 대한 모든 요청이 처리 될 때까지 기다려서 사용자가 웹 페이지의 절반을 얻지 못하게합니다.


4

먼저이 명령을 사용하여 상태를 확인하십시오.

sudo service apache2 status

그런 다음 실행중인 서비스를 중지하십시오

sudo service apache2 stop

그런 다음이 명령을 사용하십시오 :

sudo /opt/lampp/lampp start

이 솔루션은 저에게 효과적이었습니다.


2

시스템에 Apache 2.4 버전을 설치 한 경우 로컬 시스템에서 Apache 서버를 다시 시작하거나 중지하려면 다음 명령을 실행해야합니다.

./apachectl start

또는 당신이 사용할 수있는 다시 시작 , 중지 귀하의 요구 사항에 따라도. 이것은 테스트 코드입니다


1

Apache를 다시 시작하기 위해 서비스를 사용할 수 있습니다

service apache2 restart

모든 기능을 사용할 수 있습니다 (중지-시작-새로 고침)


1

Apache 서버를 다시 시작하는 가장 좋은 방법은 다음 명령을 사용하는 것입니다.

$ sudo service apache2 restart

아래 명령을 사용할 수 있습니다 :

$ sudo /etc/init.d/apache2 restart

1
커맨드 소스 : Apache Ubuntu
Razor Rassh

0
sudo systemctl restart apache2

systemctl-시스템 시스템 및 서비스 관리자를 제어합니다.

systemctl은 "시스템화 된"시스템 및 서비스 관리자의 상태를 검사하고 제어하는 ​​데 사용될 수 있습니다.


-1

당신이 루트 인 경우 : (우분투 루트는 비활성화되어 있으므로 'sudo'명령을 사용하는 것보다 좋습니다!)

$ /etc/init.d/apache stop
$ /etc/init.d/apache start
$ /etc/init.d/apache restart
$ /etc/init.d/apache reload 

a2ensite 또는 a2dissite를 사용한 경우 Apache 구성을 다시로드해야합니다.


root비활성화되어 있지 않으며 직접 비밀번호를 제공하지 않으면 비밀번호가 없습니다.
Mikael Auno

1
//stop apache의견 이 있어야합니까? 그래서, 표준 쉘 표기법이 될 경우 #stop apache, //bash는 작동하지 않습니다
미켈

@MikaelAuno 루트 계정은 비밀번호가없는 경우 비활성화됩니다
T0xicCode

1
@ xav0989 정의의 문제입니다. 물론으로 직접 로그인 root하거나 해당 사안에 대한 비밀번호 root가 필요한 방식 으로 로그인 할 수는 없지만 root다른 방법이 root있습니다. 예를 들어 sudo -i다음 whoami과 같이 시도 하면 실제로로 로그인 한 것을 볼 수 있습니다 root. 또한 ps aux | grep root시스템에 이미 많은 프로세스가로 실행되고 있음을 알 수 root있습니다. 따라서 논란의 여지 root가 없습니다.
Mikael Auno

@MikaelAuno 또는 sudo -E -s. 비활성화함으로써 나는 의미하는 것은으로 직접 로그인 root할 수 없지만 프로세스는 여전히으로 실행할 수 있다고 가정합니다 root.
T0xicCode 2018
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.