Nginx v roli web serveru



Podobné dokumenty
Nginx aneb jde to i bez Apache

HTTPS na virtuálních web serverech

Správa linuxového serveru: Zprovoznění Ruby aplikací s RVM, Thin a Nginx

Správa linuxového serveru: Redmine: Thin a Nginx

Od CGI k FastCGI. Uvedené dílo podléhá licenci Creative Commons Uved te autora 3.0 Česko.

Instalace Debianu pomocí debootstrap

Hosting a doména. Pavel Urbánek. srovnání providerů a WP požadavky.

Správa linuxového serveru: Webový server Cherokee

vpsfree.cz: linuxový server u neziskovky

Jen správně nasazené HTTPS je bezpečné

SSH: dálková správa serveru

vpsfree.cz: komunitní platforma pro virtuální servery

Spouštění a konfigurace služeb. Přednáška OSY2 verze :00

A p a c h e h t t p d Lukáš Zapletal lukas.zapletal@liberix.cz

Zabezpečení linuxového serveru

Instalace Linux Debian ve VirtualBoxu JAKUB MAZUCH BŘEZEN 2018

Let s Encrypt nahoďte šifrování na webu

BI-AWD. Administrace Webového a Databázového serveru Instalace webového serveru Apache httpd

Shibboleth v systému DSpace

Instalace a konfigurace web serveru. WA1 Martin Klíma

Administrace Unixu a sítí

Správa linuxového serveru: Webová rozhraní k poště (Squirrelmail a Roundcube)

Internet Information Services (IIS) 6.0

WireGuard. nová a jednoduchá linuxová VPN. Petr Krčmář. 3. listopadu 2018

Činnost operačních systémů. Beránek Pavel 1. KŠPA

Popište rozdíly HTTP/1.0 a 1.1 "Host" hlavicka pro name-based vhosty keepalive chunked encoding. (chce to malinko rozvést).

Internet protokol, IP adresy, návaznost IP na nižší vrstvy

HTTP hlavičky pro bezpečnější web

STUDIJNÍ MATERIÁL PRO TECHNICKOU CERTIFIKACI ESET Server Security, Serverové produkty

L i n u x j a k o r o u t e r, f i r e w a l l, D H C P s e r v e r, p r o x y a D N S c a c h e, 2. č á s t

vpsfree.cz: komunitní platforma pro virtuální servery

Závěrečná zpráva projektu FR CESNET 468R1/2012. Optimalizace správy síťových aplikací a zařízení AMU

Cobbler, Puppet, Func

OpenSSL a certifikáty

VÝZVA. k podání nabídky

Alpine Linux: minimalistická distribuce nejen na server

metodický list č. 1 Internet protokol, návaznost na nižší vrstvy, směrování

BI-AWD. Administrace Webového a Databázového serveru Rozšiřující moduly serveru Apache httpd

Případová studie: Adresářové řešení pro webhosting pomocí ApacheDS. Lukáš Jelínek

v. 2425a Jak si na PC vypěstovat HTTP (WWW, Web) server a jak ho používat (snadno a rychle) by: Ing. Jan Steringa

MetaCentrum - Virtualizace a její použití

Jak se měří Internet

Procesy a vlákna (Processes and Threads)

Užitečné odkazy:

NMS. Linux na Strahově. Radim Roška & Moris Bangoura InstallFest Silicon Hill

Instalační manuál aplikace

WWW technologie. HTTP protokol

Základy informatiky. Operační systémy

ADMINISTRACE UNIXU A SÍTÍ - AUS Metodický list č. 1

Přihlášení do VPN Univerzity Pardubice Debian GNU/Linux Lenny 32/64-bit

Novinky v projektech Knot DNS a Knot Resolver. Daniel Salzman

Certificate Transparency

Základní pojmy spojené s webovým publikováním ~ malý slovníček pojmů~ C3231 Základy WWW publikování Radka Svobodová, Stanislav Geidl

Uvedené dílo (s výjimkou obrázků) podléhá licenci Creative Commons Uved te autora 3.0 Česko.

Jak se měří Internet

Téma bakalářských a diplomových prací 2014/2015 řešených při

Dodávka UTM zařízení FIREWALL zadávací dokumentace

Kam kráčí Linux: kontejnery, cloud, automatizace

Použití programu WinProxy

Návod k nastavení účtu v emclient (IceWarp Desktop) pro práci s IceWarp Mail serverem.

Pojďme šifrovat! aneb ACME, továrna na certifikáty. Ondřej Caletka. 11. října 2015

Střední odborná škola a Střední odborné učiliště, Hořovice

Technologie pro zajištění bezpečnosti a vysoké dostupnosti webhostingových služeb v praxi. Ing. Tomáš Hála ACTIVE 24, s.r.o.

Linux na serveru. seminář Arcibiskupského gymnázia v Praze a gymnázia Boženy Němcové v Hradci Králové

Let s Encrypt pojďme šifrovat na webu zadarmo

Téma 1 - řešení s obrázky

Střední odborná škola a Střední odborné učiliště, Hořovice

Server. Software serveru. Služby serveru

Analýza síťového provozu. Ing. Dominik Breitenbacher Mgr. Radim Janča

Filip Kolář F5 Networks F5 Networks, Inc 2

Střední průmyslová škola, Mladá Boleslav, Havlíčkova 456 Maturitní otázky z předmětu POČÍTAČOVÉ SÍTĚ

POČÍTAČOVÉ SÍTĚ Metodický list č. 1

DUM č. 11 v sadě. 36. Inf-12 Počítačové sítě

Maturitní okruhy pro 1.KŠPA Kladno, s.r.o. Počítačové sítě a komunikace

w w w. u l t i m u m t e c h n o l o g i e s. c z Infrastructure-as-a-Service na platformě OpenStack

POČÍTAČOVÉ SÍTĚ A KOMUNIKACE

Maturitní témata. Informační a komunikační technologie. Gymnázium, Střední odborná škola a Vyšší odborná škola Ledeč nad Sázavou.

Webový server lapache

Příručka pro rychlou instalaci

ové služby a IPv6

Jak spustit provoz v DR lokalitě snadno a rychle

Technická specifikace zařízení

POČÍTAČOVÉ SÍTĚ A KOMUNIKACE OBOR: INFORMAČNÍ TECHNOLOGIE

DEDIKOVANÉ A MANAGED SERVERY GREENHOUSING JEDNODUCHÁ CESTA K PROFESIONÁLNÍMU SERVERHOSTINGU A VIRTUALIZACI

Rychlý průvodce konfigurací verze 4.5

Antonín Přibyl - Virtualizace Windows serveru s KVM hypervisorem

Úvod do informačních služeb Internetu

NEJRYCHLEJŠÍ INTERNET V POLABÍ CENÍK

Rychlý průvodce konfigurací LAN SUITE 2002

NoStress Hosting pro Magento

Instalace a konfigurace OpenAdmin tool na M$ a Linuxu

Uživatelský modul Stunnel

Uživatel počítačové sítě

Úvod do OpenWRT. Ondřej Caletka. 1. března Uvedené dílo podléhá licenci Creative Commons Uveďte autora 3.0 Česko.

Stavba operačního systému

TSM for Virtual Environments Data Protection for VMware v6.3. Ondřej Bláha CEE+R Tivoli Storage Team Leader. TSM architektura IBM Corporation

monolitická vrstvená virtuální počítač / stroj modulární struktura Klient server struktura

Red Hat Enterprise Virtualization

Porovnání instalací linuxových distribucí Fedora x Debian Administrace počítačových sítí (2010/2011)

Transkript:

Nginx v roli web serveru Petr Krčmář 8. března 2015 Uvedené dílo (s výjimkou obrázků) podléhá licenci Creative Commons Uveďte autora 3.0 Česko. Petr Krčmář (Root.cz) Nginx v roli web serveru 8. března 2015 1 / 26

Obsah přednášky Co je to Nginx? Co všechno umí? Proč ho nasazovat? Architektura Nginx Nasazení v praxi Řešení běžných situací (PHP, CGI) Prostor na otázky Petr Krčmář (Root.cz) Nginx v roli web serveru 8. března 2015 2 / 26

Logo Nginx Obrázek: Logo Nginx Petr Krčmář (Root.cz) Nginx v roli web serveru 8. března 2015 3 / 26

Stručně z historie Igor Sysoev vývoj od roku 2002 první veřejná až 2004 současná řada 1.6 Petr Krčmář (Root.cz) Nginx v roli web serveru 8. března 2015 4 / 26

Proč Nginx vznikl? Sysoev napsal mod_accel vadila nízká škálovatelnost Apache chtěl lepší, ale s podporou SSL, proxy, cache šlo mu o výkon, škálovatelnost, paměťovou náročnost rozhodl se pro jednovláknový server původně jako doplněk pro statický obsah k Apache https://www.ruby-forum.com/topic/151853 Petr Krčmář (Root.cz) Nginx v roli web serveru 8. března 2015 5 / 26

Co je to Nginx? asynchronní event-driven server (hlavně) web server (ale nejen) reverzní proxy pro HTTP/S (nejen) SMTP, POP3, IMAP, HTTP cache často nasazován jako reverzní proxy pozor na IP spoofing na otevřený backend X-Forwarded-For Petr Krčmář (Root.cz) Nginx v roli web serveru 8. března 2015 6 / 26

Co všechno umí? podávat statické soubory podporuje SSL/TLS virtuální hosty přepisování URL komprese load ballancing FastCGI (na všechno ostatní) a další Petr Krčmář (Root.cz) Nginx v roli web serveru 8. března 2015 7 / 26

Event-driven? tradiční přístup: blokující fork pro každý požadavek velmi náročné na prostředky (paměť, přepínání kontextu) C10K (concurrently handling ten thousand connections) Nginx se neforkuje a je neblokující všechno vyřizují předem spuštěné workery malý (a předvídatelný) dopad na paměť server se neutaví ani při velkém provozu Petr Krčmář (Root.cz) Nginx v roli web serveru 8. března 2015 8 / 26

Architektura Nginx Obrázek: Architektura Nginx Petr Krčmář (Root.cz) Nginx v roli web serveru 8. března 2015 9 / 26

Zásadní vlastnosti nízká náročnost na prostředky 10K požadavků potřebuje 2,5 MB paměti umí zpracovat velké množství požadavků je odolný proti DDoS útokům (Slowloris) velmi volná licence (dvouklauzulová BSD) multiplatformní: Linux, BSD, Win, OS X, Solaris a další Petr Krčmář (Root.cz) Nginx v roli web serveru 8. března 2015 10 / 26

Omezení (?) sám o sobě neumí PHP, CGI neumí.htaccess Petr Krčmář (Root.cz) Nginx v roli web serveru 8. března 2015 11 / 26

Kdo ho nasadil WordPress GitHub Netflix Dropbox Nokia Wikipedie Seznam Prima FTV Petr Krčmář (Root.cz) Nginx v roli web serveru 8. března 2015 12 / 26

Rozšíření 14,7 % webů (Netcraft) 17,5 % na top 1M webů 25,9 % na top 100K webů 34,7 % na top 1K webů (W3Techs) velmi často ale jako reverzní proxy Petr Krčmář (Root.cz) Nginx v roli web serveru 8. března 2015 13 / 26

Proč jsem ho nasadil já? nemám nic proti Apache experiment vyzkoušet něco jiného snaha dokázat, že to jde Nginx je super jako reverzní proxy, ale na web server patří Apache. Všechny aplikace dneska čekají Apache. Petr Krčmář (Root.cz) Nginx v roli web serveru 8. března 2015 14 / 26

Nasazení v praxi Nginx je v distribucích má < 1 MB (jedna binárka) konfigurace v /etc/nginx/ základní konfigurace v /etc/nginx/nginx.conf jednotlivé virtuály v /etc/nginx/sites-available/ Petr Krčmář (Root.cz) Nginx v roli web serveru 8. března 2015 15 / 26

Základní konfigurace /etc/nginx/nginx.conf user www-data; worker_processes 1; error_log /var/log/nginx/error.log; pid /var/run/nginx.pid; events { worker_connections 1024; } http { include /etc/nginx/mime.types; default_type application/octet-stream; access_log /var/log/nginx/access.log; sendfile on; keepalive_timeout 65; tcp_nodelay on; gzip on; include /etc/nginx/sites-enabled/*; } Petr Krčmář (Root.cz) Nginx v roli web serveru 8. března 2015 16 / 26

Konfigurace virtuálu /etc/nginx/sites-available/ server { listen 80; ## listen for ipv4 listen [::]:80; ## listen for ipv6 server_name www.debian-linux.cz; access_log /var/log/nginx/debian.access.log; root /var/www/www.debian-linux.cz; } Petr Krčmář (Root.cz) Nginx v roli web serveru 8. března 2015 17 / 26

Řešení běžných situací rewrite bez www PHP CGI SSL reverzní proxy proč ne.htaccess Petr Krčmář (Root.cz) Nginx v roli web serveru 8. března 2015 18 / 26

rewrite bez www vše na www server { listen 80; ## listen for ipv4 listen [::]:80; ## listen for ipv6 server_name debian-linux.cz; rewrite ^(.*) http://www.debian-linux.cz$1 permanent; } Petr Krčmář (Root.cz) Nginx v roli web serveru 8. března 2015 19 / 26

PHP (část s PHP-FPM) nainstalovat php5-fpm nadefinovat socket v /etc/php5/fpm/users.d/ definice socketu [debian] listen = /var/run/php5-fpm.debian.sock user = debian group = www-debian Petr Krčmář (Root.cz) Nginx v roli web serveru 8. března 2015 20 / 26

PHP (část s Nginx) konfigurace virt hosta try_files $uri $uri/ /index.php?q=$uri&$args; location ~ \.php$ { fastcgi_pass unix:/var/run/php5-fpm.debian.sock; fastcgi_index index.php; include fastcgi_params; } Petr Krčmář (Root.cz) Nginx v roli web serveru 8. března 2015 21 / 26

CGI nainstalovat fcgiwrap konfigurace virt hosta location /cgi-bin { gzip off; root /var/www/skript.domena.cz; fastcgi_pass unix:/var/run/fcgiwrap.socket; include fastcgi_params; } Petr Krčmář (Root.cz) Nginx v roli web serveru 8. března 2015 22 / 26

SSL umí SNI privátní klíč i certifikát zvlášť do sekce server přidat konfigurace virt hosta ssl on; ssl_certificate /etc/nginx/ssl/server.crt; ssl_certificate_key /etc/nginx/ssl/server.key; Petr Krčmář (Root.cz) Nginx v roli web serveru 8. března 2015 23 / 26

.htaccess Pokud potřebujete.htaccess, děláte to špatně. specialita Apache, bohužel uživatelé jsou na ni zvyklí rozsypání konfigurace po celém disku velmi náročná na disk IO (rekurzivní procházení addr) potřebujeme vlastně.htaccess? konvertor: http://winginx.com/htaccess Petr Krčmář (Root.cz) Nginx v roli web serveru 8. března 2015 24 / 26

reverzní proxy konfigurace reverz proxy upstream master_server { 127.0.0.1:8080 192.168.1.3:80... } server { listen...... location / { proxy_pass http://master_server; } } Petr Krčmář (Root.cz) Nginx v roli web serveru 8. března 2015 25 / 26

Děkuji za pozornost Otázky? Petr Krčmář petr.krcmar@iinfo.cz Petr Krčmář (Root.cz) Nginx v roli web serveru 8. března 2015 26 / 26