GNU/Linux >> Znalost Linux >  >> Linux

Jak dostanu Apache ke spuštění při bootime v Linuxu?

Řešení 1:

Chcete přidat jeho init skript do příslušné úrovně spuštění. Skript init je obvykle /etc/init.d/apache2 kde můžete ručně spustit /etc/init.d/apache2 start pro spuštění.

Na Gentoo byste napsali:

rc-update add apache2 default

Na Ubuntu/Debianu to funguje:

sudo update-rc.d apache2 defaults

Na Red Hat Linux/Fedora/CentOS malé googlování ukazuje toto:

chkconfig --add httpd

Distribuce od distribuce se trochu liší, ale myšlenka je obvykle stejná. V podstatě všechny tyto příkazy vytvářejí symbolický odkaz z /etc/init.d/ do příslušné složky na úrovni běhu v /etc/ .

Řešení 2:

Tady je to, co se mi nakonec povedlo. To předpokládá, že jste uživatel root.

  1. vi /etc/init.d/apache2 (upravte jej, jak je uvedeno níže)
  2. chmod 755 /etc/init.d/apache2
  3. chkconfig --add apache2
  4. chkconfig --list apache2 (pro ověření, že to fungovalo)

Obsah /etc/init.d/apache2:

#!/bin/bash
#
# apache2        Startup script for the Apache HTTP Server
#
# chkconfig: 3 85 15
# description: Apache is a World Wide Web server.  It is used to serve \
#              HTML files and CGI.

/usr/local/apache2/bin/apachectl [email protected]

Runlevel můžete získat spuštěním /sbin/runlevel, což v mém případě bylo 3. A samozřejmě musíte zavolat svou verzi apachectl, což v mém případě bylo /usr/local/apache2/bin/apachectl

Díky následujícímu:

  • Odpověď od Evana Terana +1 pro pomoc
  • Odpověď od Russella Heillinga + 1 za pomoc
  • man chkconfig
  • Tento odkaz ze systému sysdigg, který obsahoval informace o úrovni běhu.

Řešení 3:

Zkontrolujte, zda máte httpd init skript v /etc/rc.d adresář. Pokud ano, stačí spustit následující příkaz, který povolí httpd spuštění služby při spouštění.

chkconfig --level 345 httpd on

Pokud nemáte init skript, stačí připojit /etc/rc.local soubor s apachectl -k start (příkaz pro spuštění Apache).

Řešení 4:

Protože jste nainstalovali podle zdroje, v adresáři /etc/init.d/ nebude nainstalován init skript. Binární soubor apachectl je navržen tak, aby byl kompatibilní se standardními možnostmi init skriptu, takže na něj možná budete moci jednoduše vytvořit symbolický odkaz namísto vytváření obalového skriptu (např. ln -s /usr/local/sbin/apachectl /etc/init.d/ apache)

Poté můžete postupovat podle postupů uvedených v ostatních příspěvcích pro přidávání odkazů pro vyvolání init skriptu na správných úrovních běhu.

Citace:Dokumentace Apache http://httpd.apache.org/docs/2.2/invoking.html

Počínaje časem spouštění

Pokud chcete, aby váš server běžel i po restartu systému, měli byste do spouštěcích souborů systému přidat volání apachectl (obvykle rc.local nebo soubor v adresáři rc.N). Tím se spustí Apache jako root. Než to uděláte, ujistěte se, že váš server je správně nakonfigurován pro zabezpečení a omezení přístupu.

Skript apachectl je navržen tak, aby fungoval jako standardní iniciační skript SysV; může vzít argumenty start, restart a stop a převést je do příslušných signálů do httpd. Často tedy můžete jednoduše propojit apachectl do příslušného init adresáře. Nezapomeňte však zkontrolovat přesné požadavky vašeho systému.


Linux
  1. Jak vytvořit skript příkazu Linux

  2. Jak nainstalovat Apache Cassandra na Oracle Linux 8

  3. Jak nainstalovat Apache Maven na Oracle Linux 8

  1. Jak získat velikost adresáře v Linuxu

  2. Jak spustit skript shellu při spuštění

  3. Jak získat masku sítě z bash?

  1. Jak nastavit Startup &Shutdown Script na Gentoo Linux

  2. Jak vytvořit spouštěcí skript pomocí Crontab v Lubuntu Linux

  3. Jak nainstalovat Apache Kafka na Rocky Linux 8