Úvod
Nginx je bezplatná, open-source linuxová aplikace pro webové servery. Funguje jako reverzní proxy server směrováním webového provozu na konkrétní servery.
Nginx se používá pro zabezpečení a vyrovnávání zátěže, ale může také fungovat samostatně jako webový server.
Tato příručka vám pomůže nainstalovat Nginx na Ubuntu 20.04 Linux (Focal Fossa).

Předpoklady
- Systém se systémem Ubuntu 20.04 Linux
- Uživatelský účet s sudo nebokořen privilegia
- Přístup do okna terminálu / příkazového řádku (klikněte na Aktivity> Hledat> zadejte Terminál )
Krok 1:Aktualizujte softwarová úložiště
Před instalací nového softwaru je důležité aktualizovat seznamy úložišť. To pomáhá zajistit, že jsou nainstalovány nejnovější aktualizace a opravy.
Otevřete okno terminálu a zadejte následující:
sudo apt-get update

Nechte proces dokončit.
Krok 2:Nainstalujte Nginx z úložišť Ubuntu
Nginx je součástí výchozích úložišť Ubuntu 20.04. Nainstalujte jej zadáním následujícího příkazu:
sudo apt-get install nginx

Krok 3:Ověřte instalaci
Ověřte, zda je Nginx správně nainstalován, zkontrolováním verze softwaru. Zadejte následující:
nginx -v
Systém by měl zobrazit verzi softwaru Nginx.

Krok 4:Ovládání služby Nginx
Chování Nginxu lze upravit. Použijte toto ke spuštění nebo zastavení Nginx nebo k povolení nebo zakázání Nginx při spouštění.
Začněte kontrolou stavu služby Nginx:
sudo systemctl status nginx
Pokud stav zobrazuje active (running)
, Nginx již byl spuštěn. Stiskněte CTRL
+z
pro ukončení zobrazení stavu.

Pokud Nginx neběží, spusťte službu Nginx pomocí následujícího příkazu:
sudo systemctl start nginx
Chcete-li nastavit, aby se Nginx načetl při spuštění systému, zadejte následující:
sudo systemctl enable nginx

Chcete-li zastavit službu Nginx, zadejte následující:
sudo systemctl stop nginx
Chcete-li zabránit načítání Nginx při spouštění systému:
sudo systemctl disable nginx

Chcete-li znovu načíst službu Nginx (používá se k použití změn konfigurace):
sudo systemctl reload nginx
Pro tvrdý restart Nginx:
sudo systemctl restart nginx
Krok 5:Povolte provoz Nginx
Nginx potřebuje přístup přes firewall systému. Za tímto účelem Nginx nainstaluje sadu profilů pro výchozí ufw Ubuntu (UnComplicated Firewall).
Začněte zobrazením dostupných profilů Nginx:
sudo ufw app list
Systém by měl zobrazit následující:

Chcete-li udělit Nginx přístup přes výchozí bránu firewall Ubuntu, zadejte následující:
sudo ufw allow 'nginx http'
Systém by měl zobrazit Rules updated
.

Obnovte nastavení brány firewall zadáním:
sudo ufw reload

Pro šifrovaný provoz (https) zadejte:
sudo ufw allow 'nginx https'
Chcete-li povolit obojí, zadejte:
sudo ufw allow 'nginx full'
Krok 6:Otestujte Nginx
Ujistěte se, že je spuštěna služba Nginx, jako v kroku 4. Otevřete webový prohlížeč a přejděte na následující webovou adresu:
http://127.0.0.1
Systém by měl zobrazit uvítací stránku Nginx.

Pokud systém nemá grafické rozhraní, lze uvítací stránku Nginx načíst v terminálu pomocí curl :
sudo apt-get install curl
curl –i 127.0.0.1
Systém by měl zobrazit HTML kód úvodní stránky Nginx.

Krok 7:Nakonfigurujte blok serveru (volitelné)
V Nginx je blok serveru konfigurace, která funguje jako vlastní server. Ve výchozím nastavení má Nginx předkonfigurován jeden blok serveru.
Nachází se na adrese /var/www/html . Lze jej však nakonfigurovat s více bloky serverů pro různé weby.
1. Vytvořte adresář pro testovací doménu
V okně terminálu vytvořte nový adresář zadáním následujícího:
sudo mkdir -p /var/www/test_domain.com/html
2. Konfigurace vlastnictví a oprávnění
Použijte chmod
pro konfiguraci pravidel vlastnictví a oprávnění:
sudo chown –R $USER:$USER /var/www/test_domain.com
sudo chmod –R 755 /var/www/test_domain.com
3. Vytvořte soubor index.html pro blok serveru
Otevřete index.html pro úpravy v textovém editoru dle vašeho výběru (použijeme textový editor Nano):
sudo nano /var/www/test_domain.com/html/index.html
V textovém editoru zadejte následující kód HTML:
<html>
<head>
<title>Welcome to test_domain.com!</title>
</head>
<body>
<h1>This message confirms that your Nginx server block is working. Great work!</h1>
</body>
</html>
Stiskněte CTRL
+o
zapište změny a poté CTRL
+x
pro ukončení.
4. Vytvořte konfiguraci bloku serveru Nginx
Otevřete konfigurační soubor pro úpravy:
sudo nano /etc/nginx/sites-available/test_domain.com
Zadejte následující kód:
server {
listen 80;
root /var/www/test_domain.com/html;
index index.html index.htm index.nginx.debian.html;
server_name test_domain.com www.test_domain.com;
location / {
try_files $uri $uri/ =404;
}
}

5. Vytvořte symbolický odkaz pro Nginx ke čtení při spuštění
Vytvořte symbolické propojení mezi blokem serveru a spouštěcím adresářem zadáním následujícího:
sudo ln –s /etc/nginx/sites-available/test_domain.com /etc/nginx/sites-enabled
6. Restartujte službu Nginx
Restartujte Nginx spuštěním následujícího příkazu:
sudo systemctl restart nginx
7. Otestujte konfiguraci
sudo nginx –t
Systém by měl hlásit, že syntaxe konfiguračního souboru je v pořádku a že test konfiguračního souboru byl úspěšný.

8. Upravte soubor Hosts (volitelné)
Pokud používáte testovací název domény, který není registrovaný nebo veřejný, /etc/hosts pravděpodobně bude nutné upravit, aby zobrazoval test_domain.com stránku.
Zobrazte IP adresu systému pomocí následujícího příkazu:
hostname –i
Poznamenejte si zobrazenou IP adresu.

Dále otevřete /etc/hosts pro úpravy:
sudo nano /etc/hosts
Do prázdného místa těsně pod informace o localhost přidejte následující řádek:
127.0.1.1 test_domain.com www.test_domain.com

Nahraďte 127.0.0.1 výše uvedenou IP adresou. Stiskněte CTRL
+o
uložte změny a poté CTRL
+x
pro ukončení.
9. Zkontrolujte test_domain.com ve webovém prohlížeči
Otevřete okno prohlížeče a přejděte na test_domain.com (nebo název domény, který jste nakonfigurovali v Nginx).
Měli byste vidět zprávu, kterou jste zadali v části 3.

Důležitá umístění souborů Nginx
Ve výchozím nastavení Nginx ukládá různé konfigurační a protokolové soubory do následujících umístění:
- /var/www/html – Obsah webových stránek, jak jej vidí návštěvníci.
- /etc/nginx – Umístění hlavních souborů aplikace Nginx.
- /etc/nginx/nginx.conf – Hlavní konfigurační soubor Nginx.
- /etc/nginx/sites-available – Seznam všech webových stránek nakonfigurovaných prostřednictvím Nginx.
- /etc/nginx/sites-enabled – Seznam webů, které Nginx aktivně obsluhuje.
- /var/log/nginx/access.log – Přístupové protokoly sledující každý požadavek na váš server.
- /var/log/ngins/error .protokol – Protokol všech chyb generovaných v Nginx.