GNU/Linux >> Znalost Linux >  >> Ubuntu

Nainstalujte Nginx a nakonfigurujte virtuálního hostitele v Ubuntu 20.04

V této příručce prozkoumáme, jak používat nginx v Ubuntu 20.04, tj. jak nainstalovat nginx a nakonfigurovat nginx tak, aby obsluhoval virální web.

Instalace Nginx

aktualizujte náš místní index balíčků, abychom měli přístup k nejnovějším výpisům balíčků

sudo apt update

Nainstalujte nginx

sudo apt install nginx

Aktualizujte bránu firewall

Seznam dostupných ufw aplikací:

sudo ufw app list

Ukázkový výstup:

Available applications:
  Nginx Full
  Nginx HTTP
  Nginx HTTPS
  OpenSSH

Uvedené profily Nginx:

  • Nginx Full – Jak http – 80, tak https – 443
  • Nginx HTTP – pouze http provoz 80
  • Nginx HTTPS – Pouze https provoz 443 – Provoz šifrovaný TLS/SSL

Povolte požadovaný profil – v našem případě http i https:

sudo ufw allow 'Nginx Full'

Ověřte změnu

sudo ufw status

Výše uvedený příkaz vypíše, který provoz je povolen.

Konfigurace nginx

Zkontrolujte nainstalovanou verzi

sudo apt list --installed | grep nginx

Zkontrolujte systemd service

sudo systemctl status nginx

Měli byste vidět tento výstup ukazující, že nginx běží

● nginx.service - A high performance web server and a reverse proxy server
     Loaded: loaded (/lib/systemd/system/nginx.service; enabled; vendor preset: enabled)
     Active: active (running) since Fri 2021-07-30 14:07:33 UTC; 2min 42s ago
       Docs: man:nginx(8)
   Main PID: 4684 (nginx)
      Tasks: 5 (limit: 9257)
     CGroup: /system.slice/nginx.service
             ├─4684 nginx: master process /usr/sbin/nginx -g daemon on; master_process on;
             ├─4685 nginx: worker process
             ├─4686 nginx: worker process
             ├─4687 nginx: worker process
             └─4688 nginx: worker process

Jul 30 14:07:33 frhb64566ds systemd[1]: Starting A high performance web server and a reverse proxy server...
Jul 30 14:07:33 frhb64566ds systemd[1]: Started A high performance web server and a reverse proxy server.

Abyste zajistili, že služba nginx bude vždy spuštěna i po restartu, použijte tento příkaz systemnd k povolení:

sudo systemctl enable nginx

Ke správě nginx můžete použít tyto další příkazy systemd:

# To start the service
sudo systemctl start nginx

# To restart the service
sudo systemctl restart nginx

# To reload the service config
sudo systemctl reload nginx

# To stop the service config
sudo systemctl restart nginx

# To disable the service config
sudo systemctl restart nginx

Chcete-li potvrdit, že nginx skutečně běží a je dosažitelný, použijte tento příkaz:

curl http://server_ip/

kde server_ip je ip vašeho serveru. Pokud z nějakého důvodu neznáte veřejnou IP svého serveru, použijte toto ke kontrole:

curl -4 icanhazip.com

Potom:

curl http://178.170.10.54/

Měli byste získat výchozí stránku nginx.

Poskytování jednoduché statické stránky nginx

Podívejme se na příklad poskytování statické stránky pomocí nginx. Statická stránka je html a css, která nepotřebuje žádné vykreslování na straně serveru. Použijeme příklad domény your.domain.com v našem případě.

Kroky:

  1. Vytvořte adresář pro uložení našeho statického obsahu (budeme používat /var/www/your.domain.com )

    sudo mkdir -p /var/www/your.domain.com
  2. Ujistěte se, že vytvořený adresář je přístupný aktuálnímu uživateli

    sudo chown -R ${USER}:${USER} /var/www/your.domain.com
    sudo chmod -R 755 /var/www/your.domain.com
  3. Přidejte ukázkový soubor do adresáře (/var/www/your.domain.com/index.html )

    cat > /var/www/your.domain.com/index.html <<EOF
    <html>
    <head>
        <title>Hola from your.domain.com!</title>
    </head>
    <body>
        <h1>Hey!</h1>
        <p>Our site <i>your.domain.com</i> is working as expected.</p>
    </body>
    </html>
    EOF
  4. Vytvořte konfiguraci nginx v adresáři /etc/nginx/conf.d kde nginx hledá konfigurace, které má zahrnout při poskytování. Vytvoříme soubor /etc/nginx/conf.d/your.domain.com.conf s požadovaným obsahem.

Použijte tento příkaz:

cat > /etc/nginx/conf.d/your.domain.com.conf <<EOF
server {
    listen 80;
    server_name your.domain.com;

    root /var/www/your.domain.com;
    index index.html index.htm;

    location / {
        try_files $uri $uri/ =404;
    }
}
EOF
  1. Otestujte, abyste se ujistili, že v žádném ze souborů nginx

    nejsou žádné syntaktické chyby
    sudo nginx -t
  2. Pokud nejsou žádné chyby, restartujte nginx a znovu načtěte konfiguraci

    sudo systemctl restart nginx
  3. Chcete-li zajistit, aby se vaše doména mohla dostat na server, upravte konfiguraci DNS tak, aby byly záznamy A webu your.domain.com ukazuje na IP serveru.

Vaše stránky by nyní měly být v provozu. Potvrďte na stránce http://vase.domena.com

Důležité soubory a adresáře Nginx v Nginx

  • /var/www/html :Toto je adresář webového obsahu. Toto obsahuje výchozí obsah stránky v souboru index.nginx-debian.html . Tato stránka se vykreslí, když není definován žádný hostitel serveru se specifixem.

  • /etc/nginx :Toto obsahuje všechny konfigurační soubory nginx.

  • /etc/nginx/nginx.conf :Toto je hlavní globální konfigurační soubor nginx

  • /etc/nginx/sites-available/ :Adresář, do kterého lze ukládat bloky serveru pro jednotlivé lokality. Nginx nebude používat konfigurační soubory nalezené v tomto adresáři, pokud nejsou propojeny s sites-enabled adresář. Veškerá konfigurace bloků serveru se obvykle provádí v tomto adresáři a poté se aktivuje propojením s jiným adresářem.

  • /etc/nginx/sites-enabled/ :Adresář, kde jsou uloženy povolené bloky serveru pro jednotlivé lokality. Obvykle jsou vytvořeny odkazem na konfigurační soubory nalezené v adresáři sites-available.

  • /etc/nginx/snippets :Tento adresář obsahuje konfigurační fragmenty, které mohou být zahrnuty jinde v konfiguraci Nginx. Potenciálně opakovatelné konfigurační segmenty jsou dobrými kandidáty pro refaktoring do úryvků.

  • /var/log/nginx/access.log :Každý požadavek na váš webový server je zaznamenán v tomto souboru protokolu, pokud není Nginx nakonfigurován tak, aby to dělal jinak.

  • /var/log/nginx/error.log :Veškeré chyby Nginx budou zaznamenány do tohoto protokolu.


Ubuntu
  1. Jak nainstalovat a nakonfigurovat Nginx na CentOS 8

  2. Jak nainstalovat a nakonfigurovat Nginx na Ubuntu 20.04

  3. Jak nainstalovat a nakonfigurovat lak na Ubuntu 20.04?

  1. Jak nainstalovat Nginx na Ubuntu 16.04

  2. Jak nainstalovat a nakonfigurovat GitLab na Ubuntu 18.04

  3. Jak nainstalovat a nakonfigurovat Nagios na Ubuntu 18.04

  1. Jak nainstalovat a nakonfigurovat Nginx na Ubuntu 18.04 / Debian 9

  2. Nainstalujte a nakonfigurujte Kolab Groupware na Ubuntu 16.04 LTS

  3. Nainstalujte a nakonfigurujte Pico CMS na Ubuntu 16.04 LTS