Nginx vyslovuje engine x
je bezplatný, open source, vysoce výkonný HTTP a reverzní proxy server zodpovědný za zpracování zátěže některých z největších stránek na internetu.
Nginx lze použít jako samostatný webový server a jako reverzní proxy pro Apache a další webové servery.
Ve srovnání s Apache dokáže Nginx zpracovat mnohem velký počet souběžných připojení a má menší nároky na paměť na připojení.
Tento tutoriál vás naučí, jak nainstalovat a spravovat Nginx na vašem počítači CentOS 7.
Předpoklady #
Než začnete s výukovým programem, ujistěte se, že jste přihlášeni jako uživatel s právy sudo a že nemáte Apache nebo jinou službu spuštěnou na portu 80 nebo 443.
Instalace Nginx na CentOS #
Při instalaci Nginx na server CentOS postupujte podle následujících kroků:
-
Balíčky Nginx jsou k dispozici v úložištích EPEL. Pokud ještě nemáte nainstalované úložiště EPEL, můžete to udělat zadáním:
sudo yum install epel-release
-
Nainstalujte Nginx zadáním následujícího příkazu yum:
sudo yum install nginx
Pokud je to poprvé, co instalujete balíček z úložiště EPEL, může vás yum vyzvat k importu klíče EPEL GPG:
Retrieving key from file:///etc/pki/rpm-gpg/RPM-GPG-KEY-EPEL-7 Importing GPG key 0x352C64E5: Userid : "Fedora EPEL (7) <[email protected]>" Fingerprint: 91e9 7d7c 4a5e 96f1 7f3e 888f 6a2f aea2 352c 64e5 Package : epel-release-7-9.noarch (@extras) From : /etc/pki/rpm-gpg/RPM-GPG-KEY-EPEL-7 Is this ok [y/N]:
Pokud je to váš případ, zadejte
y
a stiskněteEnter
. -
Po dokončení instalace povolte a spusťte službu Nginx pomocí:
sudo systemctl enable nginx
sudo systemctl start nginx
Zkontrolujte stav služby Nginx pomocí následujícího příkazu:
sudo systemctl status nginx
Výstup by měl vypadat nějak takto:
● nginx.service - The nginx HTTP and reverse proxy server Loaded: loaded (/usr/lib/systemd/system/nginx.service; enabled; vendor preset: disabled) Active: active (running) since Mon 2018-03-12 16:12:48 UTC; 2s ago Process: 1677 ExecStart=/usr/sbin/nginx (code=exited, status=0/SUCCESS) Process: 1675 ExecStartPre=/usr/sbin/nginx -t (code=exited, status=0/SUCCESS) Process: 1673 ExecStartPre=/usr/bin/rm -f /run/nginx.pid (code=exited, status=0/SUCCESS) Main PID: 1680 (nginx) CGroup: /system.slice/nginx.service ├─1680 nginx: master process /usr/sbin/nginx └─1681 nginx: worker process
-
Pokud je váš server chráněn firewallem, musíte otevřít oba HTTP (
80
) a HTTPS (443
) porty.Pomocí následujících příkazů otevřete potřebné porty:
sudo firewall-cmd --permanent --zone=public --add-service=http
sudo firewall-cmd --permanent --zone=public --add-service=https
sudo firewall-cmd --reload
-
Chcete-li ověřit instalaci Nginx, otevřete
http://YOUR_IP
ve vašem zvoleném prohlížeči a uvidíte výchozí uvítací stránku Nginx, jak je znázorněno na obrázku níže:
Spravujte službu Nginx pomocí systemctl #
Službu Nginx můžete spravovat stejným způsobem jako jakoukoli jinou systémovou jednotku.
Chcete-li zastavit službu Nginx, spusťte:
sudo systemctl stop nginx
Chcete-li jej znovu spustit, zadejte:
sudo systemctl start nginx
Restartování služby Nginx:
sudo systemctl restart nginx
Po provedení některých změn konfigurace znovu načtěte službu Nginx:
sudo systemctl reload nginx
Pokud chcete zakázat spuštění služby Nginx při spuštění:
sudo systemctl disable nginx
A znovu jej povolit:
sudo systemctl enable nginx
Struktura a doporučené postupy konfiguračního souboru Nginx #
- Všechny konfigurační soubory Nginx jsou umístěny v
/etc/nginx/
adresář. - Hlavní konfigurační soubor Nginx je
/etc/nginx/nginx.conf
. - Pro snazší údržbu konfigurace Nginx se doporučuje vytvořit samostatný konfigurační soubor pro každou doménu.
- Nové soubory bloků serveru Nginx musí končit
.conf
a být uložen v/etc/nginx/conf.d
adresář. Můžete mít tolik bloků serveru, kolik potřebujete. - Je dobré řídit se standardní konvencí pojmenování, například pokud je název vaší domény
mydomain.com
pak by se váš konfigurační soubor měl jmenovat/etc/nginx/conf.d/mydomain.com.conf
- Používáte-li opakovatelné konfigurační segmenty v blocích serveru vaší domény, pak je dobré vytvořit adresář s názvem
/etc/nginx/snippets
refaktorování těchto segmentů na úryvky a zahrnutí souboru úryvku do bloků serveru. - Soubory protokolu Nginx (
access.log
aerror.log
) jsou umístěny v/var/log/nginx/
adresář. Doporučuje se mít jinýaccess
aerror
soubory protokolu pro každý blok serveru. - Kořenový adresář dokumentů domény můžete nastavit do libovolného umístění. Mezi nejčastější umístění pro webroot patří:
/home/<user_name>/<site_name>
/var/www/<site_name>
/var/www/html/<site_name>
/opt/<site_name>
/usr/share/nginx/html