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 nginxPokud 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) <epel@fedoraproject.org>" 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
ya stiskněteEnter. -
Po dokončení instalace povolte a spusťte službu Nginx pomocí:
sudo systemctl enable nginxsudo systemctl start nginxZkontrolujte stav služby Nginx pomocí následujícího příkazu:
sudo systemctl status nginxVý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=httpsudo firewall-cmd --permanent --zone=public --add-service=httpssudo firewall-cmd --reload -
Chcete-li ověřit instalaci Nginx, otevřete
http://YOUR_IPve 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
.confa být uložen v/etc/nginx/conf.dadresář. 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.compak 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/snippetsrefaktorování těchto segmentů na úryvky a zahrnutí souboru úryvku do bloků serveru. - Soubory protokolu Nginx (
access.logaerror.log) jsou umístěny v/var/log/nginx/adresář. Doporučuje se mít jinýaccessaerrorsoubory 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