Naudingos komandos „Apache“ žiniatinklio serveriui valdyti sistemoje „Linux“


Šioje pamokoje aprašysime keletą dažniausiai naudojamų „Apache“ (HTTPD) paslaugų valdymo komandų, kurias turėtumėte žinoti kaip kūrėjas ar sistemos administratorius, ir šias komandas turėtumėte laikyti ranka. Parodysime komandas tiek „Systemd“, tiek „SysVinit“.

Įsitikinkite, kad šios komandos turi būti vykdomos kaip root arba sudo vartotojas ir turėtų veikti bet kuriame „Linux“ paskirstyme, pvz., „CentOS“, „RHEL“, „Fedora Debian“ ir „Ubuntu“.

Įdiekite „Apache Server“

Norėdami įdiegti „Apache“ žiniatinklio serverį, naudokite numatytąjį paskirstymo paketų tvarkyklę, kaip parodyta.

$ sudo apt install apache2	    [On Debian/Ubuntu]
$ sudo yum install httpd	    [On RHEL/CentOS]
$ sudo dnf install httpd	    [On Fedora 22+]
$ sudo zypper install apache2	    [On openSUSE]

Patikrinkite „Apache“ versiją

Norėdami patikrinti įdiegtą „Apache“ žiniatinklio serverio versiją „Linux“ sistemoje, vykdykite šią komandą.

$ sudo httpd -v
OR
$ sudo apache2 -v
Server version: Apache/2.4.6 (CentOS)
Server built:   Nov  5 2018 01:47:09

Jei norite rodyti „Apache“ versijos numerį ir sukompiliuoti nustatymus, naudokite vėliavą -V , kaip parodyta.

$ sudo httpd -V
OR
$ sudo apache2 -V
Server version: Apache/2.4.6 (CentOS)
Server built:   Nov  5 2018 01:47:09
Server's Module Magic Number: 20120211:24
Server loaded:  APR 1.4.8, APR-UTIL 1.5.2
Compiled using: APR 1.4.8, APR-UTIL 1.5.2
Architecture:   64-bit
Server MPM:     prefork
  threaded:     no
    forked:     yes (variable process count)
Server compiled with....
 -D APR_HAS_SENDFILE
 -D APR_HAS_MMAP
 -D APR_HAVE_IPV6 (IPv4-mapped addresses enabled)
 -D APR_USE_SYSVSEM_SERIALIZE
 -D APR_USE_PTHREAD_SERIALIZE
 -D SINGLE_LISTEN_UNSERIALIZED_ACCEPT
 -D APR_HAS_OTHER_CHILD
 -D AP_HAVE_RELIABLE_PIPED_LOGS
 -D DYNAMIC_MODULE_LIMIT=256
 -D HTTPD_ROOT="/etc/httpd"
 -D SUEXEC_BIN="/usr/sbin/suexec"
 -D DEFAULT_PIDLOG="/run/httpd/httpd.pid"
 -D DEFAULT_SCOREBOARD="logs/apache_runtime_status"
 -D DEFAULT_ERRORLOG="logs/error_log"
 -D AP_TYPES_CONFIG_FILE="conf/mime.types"
 -D SERVER_CONFIG_FILE="conf/httpd.conf"

Patikrinkite „Apache“ konfigūracijos sintaksės klaidas

Norėdami patikrinti, ar „Apache“ konfigūracijos failuose nėra sintaksės klaidų, prieš iš naujo paleisdami paslaugą vykdykite šią komandą, kuri patikrins konfigūracijos failų galiojimą.

$ sudo httpd -t
OR
$ sudo apache2ctl -t
AH00558: httpd: Could not reliably determine the server's fully qualified domain name, using tecmint.com. 
Set the 'ServerName' directive globally to suppress this message
Syntax OK

Paleiskite „Apache Service“

Norėdami paleisti „Apache“ paslaugą, vykdykite šią komandą.

------------ On CentOS/RHEL ------------ 
$ sudo systemctl start httpd     [On Systemd]
$ sudo service httpd start 	 [On SysVInit]

------------ On Ubunt/Debian  ------------
$ sudo systemctl start apache2   [On Systemd]
$ sudo service apache2 start     [On SysVInit]

Įgalinti „Apache“ paslaugą

Ankstesnė komanda tuo metu paleidžia „Apache“ paslaugą, kad įjungiant sistemą būtų galima automatiškai paleisti, paleiskite šią komandą.

------------ On CentOS/RHEL ------------ 
$ sudo systemctl enable httpd     [On Systemd]
$ sudo chkconfig httpd on 	  [On SysVInit]

------------ On Ubunt/Debian  ------------
$ sudo systemctl enable apache2   [On Systemd]
$ sudo chkconfig apache2 on       [On SysVInit]

Iš naujo paleiskite „Apache“ paslaugą

Norėdami iš naujo paleisti „Apache“ (sustabdyti ir paleisti paslaugą), vykdykite šią komandą.

------------ On CentOS/RHEL ------------ 
$ sudo systemctl restart httpd     [On Systemd]
$ sudo service httpd restart 	   [On SysVInit]

------------ On Ubunt/Debian  ------------
$ sudo systemctl restart apache2   [On Systemd]
$ sudo service apache2 restart     [On SysVInit]

Peržiūrėkite „Apache“ paslaugos būseną

Norėdami patikrinti „Apache“ paslaugos vykdymo laiko būsenos informaciją, vykdykite šią komandą.

------------ On CentOS/RHEL ------------ 
$ sudo systemctl status httpd     [On Systemd]
$ sudo service httpd status 	  [On SysVInit]

------------ On Ubunt/Debian  ------------
$ sudo systemctl status apache2   [On Systemd]
$ sudo service apache2 status     [On SysVInit]

Perkraukite „Apache“ tarnybą

Jei atlikote kokių nors „Apache“ serverio konfigūracijos pakeitimų, galite nurodyti tarnybai iš naujo įkelti savo konfigūraciją vykdydami šią komandą.

------------ On CentOS/RHEL ------------ 
$ sudo systemctl reload httpd     [On Systemd]
$ sudo service httpd reload 	  [On SysVInit]

------------ On Ubunt/Debian  ------------
$ sudo systemctl reload apache2   [On Systemd]
$ sudo service apache2 reload     [On SysVInit]

Sustabdyti „Apache“ tarnybą

Norėdami sustabdyti „Apache“ paslaugą, naudokite šią komandą.

------------ On CentOS/RHEL ------------ 
$ sudo systemctl stop httpd       [On Systemd]
$ sudo service httpd stop 	  [On SysVInit]

------------ On Ubunt/Debian  ------------
$ sudo systemctl stop apache2     [On Systemd]
$ sudo service apache2 stop     [On SysVInit]

Rodyti „Apache Command Help“

Paskutinis, bet ne mažiau svarbus dalykas, galite gauti pagalbos apie „Apache“ paslaugų komandas sistemoje „Systemd“, vykdydami šią komandą.

$ sudo httpd -h
OR
$ sudo apache2 -h		
OR
$ systemctl -h apache2	
Usage: httpd [-D name] [-d directory] [-f file]
             [-C "directive"] [-c "directive"]
             [-k start|restart|graceful|graceful-stop|stop]
             [-v] [-V] [-h] [-l] [-L] [-t] [-T] [-S] [-X]
Options:
  -D name            : define a name for use in  directives
  -d directory       : specify an alternate initial ServerRoot
  -f file            : specify an alternate ServerConfigFile
  -C "directive"     : process directive before reading config files
  -c "directive"     : process directive after reading config files
  -e level           : show startup errors of level (see LogLevel)
  -E file            : log startup errors to file
  -v                 : show version number
  -V                 : show compile settings
  -h                 : list available command line options (this page)
  -l                 : list compiled in modules
  -L                 : list available configuration directives
  -t -D DUMP_VHOSTS  : show parsed vhost settings
  -t -D DUMP_RUN_CFG : show parsed run settings
  -S                 : a synonym for -t -D DUMP_VHOSTS -D DUMP_RUN_CFG
  -t -D DUMP_MODULES : show all loaded modules 
  -M                 : a synonym for -t -D DUMP_MODULES
  -t                 : run syntax check for config files
  -T                 : start without DocumentRoot(s) check
  -X                 : debug mode (only one worker, do not detach)

Daugiau informacijos apie systemctl rasite pasikonsultavę: Kaip valdyti „Systemd“ paslaugas ir vienetus naudojant „Systemctl“ sistemoje „Linux“.

Taip pat galbūt norėtumėte perskaityti šiuos su „Apache“ susijusius straipsnius.

  1. 5 patarimai, kaip padidinti „Apache“ tinklo serverio našumą
  2. Kaip stebėti „Apache“ tinklo serverio apkrovą ir puslapio statistiką
  3. Kaip administruoti „Apache“ tinklo serverį naudojant „Apache GUI“ įrankį
  4. Kaip pakeisti „Apache“ HTTP prievadą sistemoje „Linux“
  5. 13 „Apache“ tinklo serverio saugos ir grūdinimo patarimų
  6. Apsaugokite „Apache“ nuo grubios jėgos ar DDoS atakų naudodami „Mod_Security“ ir „Mod_evasive“ modulius

Tai kol kas viskas! Šiame straipsnyje mes paaiškinome dažniausiai naudojamas „Apache“/HTTPD paslaugų valdymo komandas, kurias turėtumėte žinoti, įskaitant „Apache“ paleidimą, įgalinimą, iš naujo paleidimą ir sustabdymą. Visais klausimais ar komentarais visada galite susisiekti su mumis naudodamiesi žemiau esančia atsiliepimų forma.