» »

Nginx config: location za /search.html... in drug root direktorij

Nginx config: location za /search.html... in drug root direktorij

HotBurek ::

Dobro jutro.


Imam en zelo preprost problem okrog nginx config-a.

V server direktivi imam dololčen root.

Sedaj bi pa rad, da za vse requeste, ki se začnejo z "/search.html" (se pravi /search.html?a=b), upošteva drug root folder.

Kakorkoli zadeva izgleda preprosto, mi ne gre.

Še najbližje pridem z alias, a ta ne dela, kot bi želel. Sicer prikaže fajle v /var/www/uwsgi/ folderju, a potem link na file pelje na "/search.html/search.html".

Krneki.


Tole je trenutni sample:
server {
        # listen
        listen 127.0.0.1:80;

        # server
        server_name 127.0.0.1:80;
        server_tokens off;

        # root
        root /var/www/html/direct/;

        # index
        index index.html;

        # home
        location / {
                autoindex on;
        }

        # search
        #location ~ ^/search.html {
        location /search.html {

                #root /var/www/uwsgi;
                #root /var/www/uwsgi/;
                #alias /var/www/uwsgi;
                alias /var/www/uwsgi/;

                autoindex on;
        }
}
root@debian:/# iptraf-ng
fatal: This program requires a screen size of at least 80 columns by 24 lines
Please resize your window
  • spremenilo: HotBurek ()

HotBurek ::

Evo, zadevo sem nekako rešil.


Problem je bil, po vsej verjetnosti, v samem uwsgi servisu. Tu sem že imel primer, ko sem spremenil config, ter naredil restart. Potem se pa pojavijo neki phantom processi, ki laufajo na istem portu. In to mislim, da je bil problem.

Primer:

root@nightrun:/# netstat -anotlp | grep 9000
tcp        0      0 127.0.0.1:9000          0.0.0.0:*               LISTEN      40137/uwsgi          off (0.00/0/0)
tcp        0      0 127.0.0.1:9000          127.0.0.1:46578         TIME_WAIT   -                    timewait (5.30/0/0)
tcp        0      0 127.0.0.1:9000          127.0.0.1:46572         TIME_WAIT   -                    timewait (2.56/0/0)
tcp        0      0 127.0.0.1:9000          127.0.0.1:46602         TIME_WAIT   -                    timewait (52.86/0/0)


V zgornjem primeru je en ok (prvi), to je uwsgi servis, potem pa trije spodaj, ki kar visijo "v luftu". Tudi, če uwsgi servis ustaviš.

Niti po-kill-at se jih ne da, ker nimajo PIDa. Treba je počakat nekaj časa (ne vem, kolk minut...), potem pa sami izginejo.

Krneki.


Takole sem pa rešil nginx config:

# search
location ~^/search.html {

        alias /var/www/uwsgi;

        try_files /search.py =404;

        include uwsgi_params;
        include mime.types;

        uwsgi_modifier1 9;
        uwsgi_pass 127.0.0.1:9000;
        uwsgi_pass_request_body off;
        uwsgi_pass_request_headers on;
}
root@debian:/# iptraf-ng
fatal: This program requires a screen size of at least 80 columns by 24 lines
Please resize your window

Zgodovina sprememb…

  • spremenilo: HotBurek ()


Vredno ogleda ...

TemaSporočilaOglediZadnje sporočilo
TemaSporočilaOglediZadnje sporočilo
»

Apache in Node.JS

Oddelek: Izdelava spletišč
91872 (1558) dunda
»

Postavitev mySQL

Oddelek: Programiranje
92143 (1721) M01O
»

Python v Wordpress

Oddelek: Programiranje
81254 (1049) Halfdead987
»

Kako narediti request z "\" v URL-ju

Oddelek: Programiranje
172065 (1340) Horejšio
»

apache virtual host in name serverji

Oddelek: Izdelava spletišč
81006 (694) čuhalev

Več podobnih tem