• agentzh nikli kullanıcının kurduğu açık kaynak kodlu web platformu. nginx'in zayıf kalan yönlerini lua dilini kullanarak geliştiriyor. yaratıcısı nginx forumlarında oldukça aktif. nginx, reverse proxy dışındaki komplike isteklerinizi gerçekleştirmekte çok da yetenekli değil. zaten o amaçla üretilmiş bir şey değil. ancak isterseniz luarocks ya da kendi opm yöneticisini kullanarak lua kütüphanesini genişletebilir nginx'in sınırlarını da zorlayabilirsiniz.

    openresty'i nginx'in üzerine kurduğunuzda nginx.conf dosyanız aynen sorunsuz çalışmaya devam edecektir. body_filter_by_lua ya da content_by_lua gibi direktiflerle içerik ya da header üzerinde istediğiniz gibi oynamalar yapmanız mümkün.

    ekşi sözlüğü tatlı sözlüğe çeviren basit bir örnek

    location = /eksi {
    proxy_pass localhost:3000;
    body_filter_by_lua_block{
    ngx.arg[1] = string.replace(ngx.arg[1], "ekşi", "tatlı")
    }
    }
  • güzel yanlarından birisi de farklı farklı kaynakları tek bir projede toplamanıza imkan tanıyor. örneğin php, mysql, postgresql, elasticsearch, lua, redis veya c ile yazılmış rotalarınızın olmasını ve bu rotaların birbiri ile parametre paylaşımına imkan tanıyor.
  • nginx forklarından biri. istediğiniz gibi eğip bükebiliyorsunuz.

    bugün lua + memcached + php-fpm + wordpress ile çok ilginç şeyler deniyorum. her kullanıcıya farklı reklam kodları çıkartıyorum. anlık 500 - 600 hiti(saniyede tekil hit. bazen 1000 üzerine çıkıyor.)

    wordpress için nginx fastcgi cache kullanırsam reklam kodları sabit kalıyor. bende reklam kodlarını önce php ile yazdığım bir script ile ajax çektirip test ettim. php-fpm sisteme aşırı yük bindirdi.

    daha sonra openresty'nin ilk defa lua ile kod yazarak gelen ajax istekleri yakaladım ve işledim.

    işlem şöyle işliyor:
    istek <-> nginx <-> lua kodu <-> memcached <-> statik dosya

    bu sayede php'e hiç girmeden direkt nginx işlemleri lua ile hallediyor. memcached'i de devreden çıkartabilirdim ama bilerek tuttum. aslında uğraşmak istemedim. *

    sunucu yükünü inanılmaz derecede düşürdü. 4 çekirdek 8 gb ramli bir sanal makinada anlık 500 kusur hit kaldırmak. load değerleri 1e çıkıyor maksimum. dehşet bir şey lan bu.

    aşağıda resimleri mevcuttur.

    lua kodu

    nginx kısmı

    sunucu yükü

    google anlık site ziyaretçisi
  • bir siteye girmek istediğimde, '403 forbidden' altında gördüğüm terim.
    birisi aynı anda sitenin kodlarını kurcaladığı için giremiyorum sonucunu çıkardım.
  • nginx conf dosyasi içinde lua ile api yazmanizi saglayan sihir gibi bir sey
hesabın var mı? giriş yap