Como você reinicia o Apache?


249

Mudei do SLES para o Ubuntu e agora quero reiniciar meu servidor local. No SLES eu usei:

rcapache2 restart

mas isso de alguma forma parece não funcionar no Ubuntu. :(

Como reinicio o meu Apache?

Respostas:


364

sudo service apache2 restart pela maneira emprestada da Red Hat.


1
Eu acho que serviceé a maneira LSB, e deve funcionar na maioria das distribuições, agora que o Debian e o Ubuntu finalmente conseguiram.
Marius Gedminas

10
sudo restart apache2não está funcionando Ubuntu 12.04. Não tenho certeza de outras versões do Ubuntu.
precisa saber é

2
@ saji89 você precisa fazer sudo service apache2 restart, então funcionará.
precisa saber é o seguinte

9
sudo restart apache2não está funcionando no Ubuntu 14.04. sudo service apache2 restartestá trabalhando duro.
toesslab

105

Deseja reiniciar o Apache ou recarregar sua configuração normalmente ?

Todos estavam respondendo à primeira pergunta; você pode fazer o segundo com

sudo service apache2 reload

Recarregar graciosamente é um pouco mais rápido e não há tempo de inatividade.

Há uma ressalva: se os arquivos de configuração do apache contiverem um erro (por exemplo, configura um arquivo de log em um diretório que não existe), o servidor pode sair silenciosamente sem imprimir nenhuma mensagem de erro no console. A maioria dos outros erros é detectada pelo apache2ctl configtestque service apache2 reloadé executado antes de ser recarregada apache2ctl graceful.


1
Sim! O uso gracioso é muito melhor se você deseja reiniciar sem dar início aos visualizadores do seu site!
tommed 12/12/10

Acho que é uma vantagem reiniciar que, se o Apache não estiver em execução, ele será iniciado . -> Recarregar também iniciará ?
Torben Gundtofte-Bruun 5/01/11

Acho que não - ainda pior, o recarregamento interromperá um apache em execução se você cometer um erro de sintaxe no arquivo de configuração.
Marius Gedminas

3
Sempre execute sudo apache2ctl configtestantes de reiniciar normalmente. O reinício gracioso falhará e o apache será interrompido se a configuração tiver um erro de sintaxe.
Mikko Rantalainen

@ MikkoRantalainen: obrigado, eu editei a resposta para descartar o raw apache2ctl gracefule, em vez disso, recomende apenas service apache2 reload, que é executado configtestantes graceful.
Marius Gedminas

26

A maneira recomendada no Ubuntu de iniciar / parar serviços (não apenas o Apache) é usar os comandos start / stop / reload (que realmente são links simbólicos para o programa initctl , parte do iniciante ).

Para serviços que usam /etc/init.dscripts herdados , o script correspondente será chamado com os parâmetros corretos; para serviços que usam a infraestrutura inicial, a transição de evento apropriada será sinalizada para o daemon inicial via initctl .

Portanto, para iniciar / parar / recarregar / reiniciar o apache no Ubuntu, você pode usar:

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

20
sudo /etc/init.d/apache2 restart

Claro que você pode trocar restartpara stop, starte (eu acho)reload


2
Ao fazer isso no Ubuntu recente, você recebe uma mensagem sobre como fazê-lo da nova maneira, embora ele ainda execute o comando desejado.
jfmessier

Ainda não sabia que o Apache havia se mudado para o Upstart.
Oli

Não vejo mais essa mensagem.
Tim


11

Como Marius disse, gracioso deve ser usado para reiniciar:

sudo apache2ctl graceful

ou

sudo apache2ctl graceful-stop

para parar o Apache graciosamente.

Esses comandos aguardam até que todas as solicitações de páginas da Web sejam atendidas antes de reiniciar / parar o servidor da Web, para que o usuário não receba meia página da Web.


4

Primeiro você verifica seu status usando este comando

sudo service apache2 status

então pare o serviço em execução

sudo service apache2 stop

então use este comando:

sudo /opt/lampp/lampp start

esta solução funcionou para mim.


2

se você estiver instalando a versão Apache 2.4 no seu sistema, para iniciar a reinicialização ou parar o servidor Apache no sistema local, execute o seguinte comando

./apachectl start

ou você pode usar a reinicialização , pare também conforme sua exigência. este é um código testado


1

você pode usar serviços para reiniciar o Apache

service apache2 restart

e você pode usar todas as funcionalidades para ele (Parar - Iniciar - Recarregar)



0
sudo systemctl restart apache2

systemctl - controla o gerenciador de sistema e serviço systemd.

systemctl pode ser usado para examinar e controlar o estado do gerenciador de sistema e serviço "systemd".


-1

se você é root: (no Ubuntu, a raiz está desativada, eu acho, do que usar o comando 'sudo'!)

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

(Se você usou a2ensite ou a2dissite, precisa recarregar sua configuração do apache)


rootnão está desativado, apenas não possui uma senha se você não fornecer uma.
Mikael Auno

1
é //stop apachesuposto ser um comentário? em caso afirmativo, a notação shell padrão seria #stop apache, //não funciona em bash
Mikel

@MikaelAuno conta root é desativado se ele não tem uma senha
T0xicCode

1
@ xav0989 Essa é bem a questão da definição. Claro que você não pode fazer login diretamente como root, ou de rootqualquer maneira que exija roota senha da questão, mas existem outras maneiras de se tornar root. Tente, por exemplo, sudo -iseguido de whoamie você verá que realmente está logado como root. Além disso, se você fizer ps aux | grep rootisso, verá que já possui muitos processos em seu sistema executando como root. Portanto, sem dúvida, rootnão está desativado.
Mikael Auno 19/04/12

@MikaelAuno ou sudo -E -s. Por desabilitado, estou assumindo que o que se entende é que você não pode fazer login diretamente como root, mas ainda pode executar processos como root.
T0xicCode
Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.