GNU/Linux >> Znalost Linux >  >> Linux

Zkontrolujte konfigurační soubory Linuxu, zda neobsahují chyby syntaxe

Tento článek popisuje, jak zkontrolovat konfiguraci Linux® pro Secure Shell (SSH), Apache® a Nginx®, což vám pomůže odstraňovat chyby. Můžete například provést změnu konfiguračního souboru a zavést chybu syntaxe. V důsledku toho, když restartujete nebo znovu načtete službu, zobrazí se chyba a restartování se nezdaří, což má za následek výpadek.

SSH

Konfigurační soubor SSH naleznete v /etc/ssh/sshd_config . Po změně konfiguračního souboru spusťte příkaz sshd -t pro kontrolu konfigurace. Pokud konfigurace obsahuje chyby, zobrazí se následující chybová zpráva:

# sshd -t

/etc/ssh/sshd_config: line 17: Bad configuration option: ZPort
/etc/ssh/sshd_config: terminating, 1 bad configuration options

Pokud nejsou žádné chyby, při spuštění příkazu se nic nezobrazí.

Apache

Příkaz syntax check zkontroluje výchozí konfigurační soubor Apache a všechny virtuální hostitele (vhosts), které jste nakonfigurovali na serveru. Chcete-li zkontrolovat syntaxi, spusťte httpd -t nebo apache2ctl -t pro operační systém Ubuntu® a Debian®. Pokud dojde k chybě při kontrole syntaxe, chybová zpráva zobrazí výstup podobný následujícímu příkladu:

# httpd -t

AH00112: Warning: DocumentRoot [/var/www/test.com/httpdocs] does not exist
AH00526: Syntax error on line 3 of /etc/httpd/conf.d/test.conf:
ServerName takes one argument, The hostname and port of the server

Pokud nejsou žádné chyby, zobrazí se zpráva Syntax OK displeje. I když na serveru nejsou žádné vhosty, kontrola syntaxe stále zobrazuje Syntax OK když je syntaxe výchozího konfiguračního souboru pro Apache správná.

Nginx

Kontroly syntaxe Nginx se chovají jinak než Apache. Chcete-li zkontrolovat syntaxi výchozí konfigurace Nginx, spusťte příkaz nginx -t . Pokud však chcete zkontrolovat syntaxi konkrétního bloku serveru, musíte přidat -c příznak a zadejte cestu k bloku serveru, jak je znázorněno v následujícím příkladu:

[root@localhost ~]# nginx -t
nginx: the configuration file /etc/nginx/nginx.conf syntax is ok
nginx: configuration file /etc/nginx/nginx.conf test is successful

[root@localhost ~]# nginx -t -c /etc/nginx/conf.d/test.com.conf
nginx: [emerg] "server" directive is not allowed here in /etc/nginx/conf.d/test.com.conf:1
nginx: configuration file /etc/nginx/conf.d/test.com.conf test failed

Linux
  1. Linux – získávání souborů pro aktuální datum v Linuxu?

  2. Rychle vyhledejte soubory v Linuxu pomocí příkazu Locate

  3. Jak v linuxu zkontrolujete, zda je disk fragmentovaný?

  1. Jak zkontrolovat konfigurační soubory bind9 (DNS Server).

  2. Jak zkontrolovat velké soubory v konzole

  3. Linux – Problémy s oprávněními pro sdílený adresář na serveru?

  1. 4 Nástroje Markdown pro příkazový řádek Linuxu

  2. Použijte Git k vytvoření souborů Backup of Configuration na Linuxu

  3. Jak zjistím chyby syntaxe v konfiguraci webového serveru Apache