abclinuxu.cz AbcLinuxu.cz itbiz.cz ITBiz.cz HDmag.cz HDmag.cz abcprace.cz AbcPráce.cz
AbcLinuxu hledá autory!
Inzerujte na AbcPráce.cz od 950 Kč
Rozšířené hledání
×
    dnes 12:22 | Nová verze

    Ruffle, tj. open source emulátor Flash Playeru napsaný v Rustu, byl vydán ve verzi 0.4.0. Ke stažení je také na Flathubu. Přímo ve webovém prohlížeči lze vyzkoušet online dema nebo vlastní swf soubory.

    Ladislav Hagara | Komentářů: 3
    18.7. 14:22 | Nová verze

    HollowByte je zranitelnost typu Denial of Service (DoS) v kryptografické knihovně OpenSSL. Útočník může odesíláním škodlivého payloadu o velikosti pouhých 11 bajtů zaplnit paměť serveru. OpenSSL před ověřením dat vyhradí nepřiměřený blok paměti (až 131 KB). Server pak čeká na data, která nepřišla. Zranitelnost je opravena ve verzích OpenSSL 4.0.1, 3.6.3, 3.5.7, 3.4.6 a 3.0.21.

    Ladislav Hagara | Komentářů: 0
    18.7. 13:44 | Komunita

    Ve španělské A Coruñě probíhá GUADEC 2026, tj. letošní konference vývojářů a uživatelů desktopového prostředí GNOME. Videozáznamy přednášek jsou k dispozici na YouTube.

    Ladislav Hagara | Komentářů: 1
    18.7. 13:22 | Komunita

    Společnost Collabora ve spolupráci s Valve vyvíjí Holo Core, tj. port Arch Linuxu pro ARM64 procesory (AArch64), který bude pohánět VR headset Steam Frame. Pro testování Arch Linuxu pro AArch64 jsou k dispozici binární balíčky, zdrojové kódy i kontejner pro Docker nebo Podman.

    Ladislav Hagara | Komentářů: 1
    18.7. 13:00 | IT novinky

    Mikroprocesor Zilog Z80 byl oficiálně uveden na trh před 50 lety, tj. v červenci 1976. Výroba mikroprocesoru skončila v roce 2024.

    Ladislav Hagara | Komentářů: 1
    18.7. 02:55 | Bezpečnostní upozornění

    Výzkumníci ze společnosti ESET objevili 11 zapomenutých UEFI shim zavaděčů, které byly podepsány společností Microsoft, a které umožňují útočníkům obejít ochranu UEFI Secure Boot na většině zařízení. Microsoft je zneplatnil (přidal jejich hash do databáze dbx) v rámci aktualizace Patch Tuesday dne 9. června 2026. Uživatelé Linuxu mohou databází aktualizovat pomocí LVFS. Ověřit zneplatnění zavaděčů lze pomocí skriptu uefi-dbx-audit. Jedná se o CVE-2026-8863 a CVE-2026-10797.

    Ladislav Hagara | Komentářů: 3
    17.7. 16:55 | Zajímavý software

    pico-usb-wifi je open source firmware pro Raspberry Pi Pico W, který jej promění v USB Wi-Fi adaptér. Po připojení k počítači se objeví jako zařízení USB CDC-NCM.

    Ladislav Hagara | Komentářů: 0
    17.7. 16:00 | IT novinky

    Americká společnost Google ze skupiny Alphabet bude muset podle nových požadavků Evropské unie umožnit společnosti OpenAI i dalším konkurentům v oblasti umělé inteligence (AI) a internetových vyhledávačů přístup ke svým službám. Ve svém rozhodnutí o tom včera informovala Evropská komise (EK). Opatření má zajistit dodržování pravidel, jejichž cílem je omezit v EU tržní sílu velkých technologických firem. Google s tím nesouhlasí.

    … více »
    Ladislav Hagara | Komentářů: 1
    17.7. 04:55 | Komunita

    Nové verze webových prohlížečů Chrome a Firefox jsou vydávány každé 4 týdny. Aktuální verze Chrome je 150. Aktuální verze Firefoxu je 152. V březnu bylo oznámeno, že od září přejde Chrome na dvoutýdenní cyklus vydávání verzí. To by znamenalo, že Chrome v číslování verzí Firefox brzy přeskočí. Vývojáři Firefoxu proto také od září přecházejí na dvoutýdenní cyklus vydávání verzí. :-)

    Ladislav Hagara | Komentářů: 7
    17.7. 00:22 | Zajímavý software

    Microsoft Comic Chat (Wikipedie), tj. grafický IRC klient z devadesátek, který převáděl konverzace na IRC do podoby komiksových panelů, a který zpopularizoval font Comic Sans, je dnešním dnem open source. Zdrojové kódy jsou k dispozici na GitHubu pod licencí MIT.

    Ladislav Hagara | Komentářů: 3
    Které desktopové prostředí na Linuxu používáte?
     (11%)
     (7%)
     (2%)
     (17%)
     (30%)
     (5%)
     (6%)
     (2%)
     (15%)
     (24%)
    Celkem 2182 hlasů
     Komentářů: 30, poslední 3.4. 20:20
    Rozcestník

    Jednoduché nasazení Sinatra aplikace (thin, nginx)

    7.6.2011 13:56 | Přečteno: 1102× | ruby | poslední úprava: 7.6.2011 13:58

    Jako základní kámen celé aplikace byl položen Ruby interpreter ve verzi 1.9.2. V případě Ubuntu je třeba provést kompilaci ze zdrojových kódů.

    wget ftp://ftp.ruby-lang.org//pub/ruby/1.9/ruby-1.9.2-p0.tar.gz
    tar -xvzf ruby-1.9.2-p0.tar.gz
    cd ruby-1.9.2-p0/
    ./configure --prefix=/usr/local/ruby
    make && sudo make install

    A jako vhodným doplňkem pro práci s Ruby se jeví přidání /usr/local/ruby/bin do PATH. Například úpravou /etc/environment . Po těchto několika oddechových minutkách přijde na řadu instalace důležitých gemů. (Pozn. Svou konfiguraci jsem rozjížděl na VPS u Virtualmaster a všiml jsem si, že 64MB RAM je jen pro instalaci pomocí gem nevyhovující konfigurace)

    gem install sinatra gem install thin

    Pro otestování serveru nám postačí opravdu jednoduchá Sinatra aplikace, která zabere 5 řádků i s nastavením interpreteru (což vlastně netřeba dělat) a kódování.

    #!/usr/local/ruby/bin/ruby
    # encoding: UTF-8
    get '/' do
            "Ono to funguje!"
    end

    K samotné konfiguraci webového serveru thin - budeme potřebovat rackup soubor (.ru) a yml konfigurační soubor.

    Rackup soubor v podstatatě obsahuje jen:

    # encoding: UTF-8
    require 'sinatra'
    #.rb soubor s vaší aplikací, stejný adresář
    require 'app'
    run Sinatra::Application

    YML soubor vypadá zhruba takto:

    ---
        environment: production
        chdir: /cesta/k/aplikaci
        address: 127.0.0.1
        user: root
        group: root
        port: 4567
        pid: /cesta/k/aplikaci/thin.pid
        rackup: /cesta/k/aplikaci/config.ru
        log: /cesta/k/aplikaci/thin.log
        max_conns: 1024
        timeout: 30
        max_persistent_conns: 512
        daemonize: true

    Na řadu přichází samotné 'nahození' thin serveru. Když jsem poprvé spouštěl thin server, docela jsem koukal, že si můžu vybrat počet serverů, které budou spuštěny. Pro malý webový projekt to asi nemá smysl, ale u velkých projektů to asi nějaký smysl mít bude kvůli otázce dostupnosti. O možném řešení ale až za chvilku.

    thin -s 1 -C config.yml -R config.ru start

    Na základě údajů v config yml se nám na pozadí rozběhne server na adrese 127.0.0.1 a portu 4567. Návštěvníky svého velkolepého projektu ale asi těžko budeme zvát na domena.tld:port, a proto potřebujeme nějakým způsobem donutit tento server, aby naslouchal na portu 80. Mohli by jsme v config.yml upravit port na 80, ale tím pádem by nám jeden fyzický webový server sloužil pouze pro jednu prezentaci. Nehospodárné. Jako výhodnější varianta se jeví použití takzvané reverzní proxy, v našem případě webový server nginx (stejně tak poslouží i lighttpd či Apache2). Konfiguraci serveru nginx upravíme tak, aby veškeré požadavky směrované na adresaserveru:80 směroval na 127.0.0.1:4567.

    Konfiguraci lze samozřejmě spojit s nastavením virtualhostů a podobných záležitostí, ale my pouze upravíme default virtual host, který by měl být po apt-get install nginx v adresáři /etc/nginx/sites-available/.

    Přirozeně nás bude zajímat jen location /, takže můžeme s klidem v srdci celý konfigurační soubor pročistit a použít z něj nepatrnou část.

    server {
        listen   80;
        server_name  localhost;
        location / {
            error_page 502 504 = @fallback;
            proxy_pass      http://localhost:4567;
                    }
            location @fallback {
            proxy_pass      http://localhost:4568;
        }
    }

    Poměrně zajímavá část začíná u @fallback. Pokud při spouštění thin použijeme -s 2 - spustí se nám dva servery na portech 4567 a 4568. Pasáž error_page 502 504 = @fallback; říká serveru, že pokud výchozí server (http://localhost:4567) vrací chybovou hlašku 502 nebo 504 - dojde k přesměrovaní na location @fallback. A fallback směřuje http://localhost:4568. A nakonec -
    service nginx restart
    pošle náš server do hry. Hodně štěstí!        

    Hodnocení: 100 %

            špatnédobré        

    Tiskni Sdílej: Linkuj Jaggni to Vybrali.sme.sk Google Del.icio.us Facebook

    Komentáře

    Vložit další komentář

    Shadow avatar 7.6.2011 14:12 Shadow | skóre: 25 | blog: Brainstorm
    Rozbalit Rozbalit vše Re: Jednoduché nasazení Sinatra aplikace (thin, nginx)
    Pěkný článek, díky. Mám nicméně otázku - není lepší/rychlejší místo TCP/IP použít sockety?

    If we do not believe in freedom of speech for those we despise we do not believe in it at all.
    Shadow avatar 7.6.2011 14:22 Shadow | skóre: 25 | blog: Brainstorm
    Rozbalit Rozbalit vše Re: Jednoduché nasazení Sinatra aplikace (thin, nginx)
    Btw, netuší někdo, jak se "unix socket" překládá do češtiny?
    If we do not believe in freedom of speech for those we despise we do not believe in it at all.
    mess avatar 7.6.2011 14:28 mess | skóre: 43 | blog: bordel | Háj ve Slezsku - Smolkov
    Rozbalit Rozbalit vše Re: Jednoduché nasazení Sinatra aplikace (thin, nginx)
    Ve škole do nás tlačili pojem "schránky" (FIT VUT). Ale moc se mi to nelíbí.
    Cez párne mesiace zošíváš vaginy, cez neparne montuješ hajzle.
    7.6.2011 14:54 zxtlpn | skóre: 8 | blog: zxtlpn
    Rozbalit Rozbalit vše Re: Jednoduché nasazení Sinatra aplikace (thin, nginx)
    Nepřekládal bych to, je to prostě termín.
    7.6.2011 15:06 defiler | blog: hlava22
    Rozbalit Rozbalit vše Re: Jednoduché nasazení Sinatra aplikace (thin, nginx)
    Díky, informace popsané v článku jsou velmi zajímavé . . . musím prozkoumat :D
    fráze "zeptej se google" nejspíš nevytvoří obsah, který by při onom hledání nějak pomohl.
    Shadow avatar 7.6.2011 17:53 Shadow | skóre: 25 | blog: Brainstorm
    Rozbalit Rozbalit vše Re: Jednoduché nasazení Sinatra aplikace (thin, nginx)
    Jak jsem zjistil, s Ruby jsou momentálně problémy, pokud chci nasazovat více různých aplikací, protože některé aplikace (např. Redmine) běží na Ruby 1.8, zatímco pokud člověk vyvíjí, tak by rád vyvíjel na aktuální řadě 1.9. Passenger do Apache umí použít jen jeden Ruby interpret, takže jsem to u sebe nakonec vyřešil přes RVM, pomocí kterého nainstaluji, co aplikace potřebuje, plus thin, který pak socketem propojím s Nginx. Jde to samozřejmě i přes TCP/IP, ale unixové sockety by měly být už z principu rychlejší.
    If we do not believe in freedom of speech for those we despise we do not believe in it at all.
    7.6.2011 22:04 xHire | skóre: 21 | blog: Linuxovník
    Rozbalit Rozbalit vše Re: Jednoduché nasazení Sinatra aplikace (thin, nginx)
    Ono se to takhle nějak řeší i „oficiálně”, byť by se mi nějaké elegantnější řešení také zamlouvalo. :c) (Mít možnost mít víc IPv4 adres, tak je řešení nasnadě, ale bohužel.) A dole v odkazovaném článku je i pěkné srovnání výkonu při použití TCP vs. UNIX socketů hezky v grafu.
    Kryptoměny a bločenka.
    7.6.2011 14:43 xHire | skóre: 21 | blog: Linuxovník
    Rozbalit Rozbalit vše Re: Jednoduché nasazení Sinatra aplikace (thin, nginx)
    Nebylo by bývalo jednodušší do toho nginxu dát passenger? :-)

    Navíc trojka integruje právě nginx v sobě, takže býval stačil pouze passenger -- není potřeba prakticky vůbec žádná konfigurace, jen pár malých nezbytností.
    Kryptoměny a bločenka.
    7.6.2011 14:55 defiler | blog: hlava22
    Rozbalit Rozbalit vše Re: Jednoduché nasazení Sinatra aplikace (thin, nginx)
    Konfiguraci jsem dělal po dlouhé době...vzpomínám si na mou poslední snahu nakonfigurovat NGINX s passengerem. No byla to katastrofa. Ale určitě to vyzkouším. Díky za info.
    fráze "zeptej se google" nejspíš nevytvoří obsah, který by při onom hledání nějak pomohl.
    7.6.2011 15:02 xHire | skóre: 21 | blog: Linuxovník
    Rozbalit Rozbalit vše Re: Jednoduché nasazení Sinatra aplikace (thin, nginx)
    Při použití integrovaného nginx serveru v passengeru se právě nginx nekonfiguruje vůbec. ;-)
    Kryptoměny a bločenka.
    7.6.2011 14:49 retroslava | skóre: 9 | blog: TryCatch | Žižkoff
    Rozbalit Rozbalit vše Re: Jednoduché nasazení Sinatra aplikace (thin, nginx)

    Místo obyčejné kompilace ruby bych doporučil RVM. Pro každý projekt je potom možné používat gemsety a jinou verzi Ruby nebo testovat na ostatních implementacích (JRuby, REE, ...).

    Pozor! Jsem naprostý idiot. Co jsem napsal včera dnes už dávno neplatí. Zavazuji se, že budu diskutovat nezávazně.

    Založit nové vláknoNahoru

    ISSN 1214-1267   www.czech-server.cz
    © 1999-2015 Nitemedia s. r. o. Všechna práva vyhrazena.