Szeretném Nginx alatt beüzemelni a tárgyban említett szoftvert, de egy kis problémám akadt az Nginx rewrite rule-okkal. Tehát adott egy Nginx 1.4.3 RHEL 6 alatt és egy Drupal 7.23 amely a /srv/www/domainem alatt érhető el, az alábbi konfig alapján. http://wiki.nginx.org/Drupal (Természetesen a root path nem ugyanez, hanem /srv/www/domainem)
Na de itt jön a csavar, szeretném telepíteni a TBG-t ami a következő url alatt lenne elérhető, http://domainem/thebuggenie/.
Ehhez is van természetesen konfig fájl, http://issues.thebuggenie.com/wiki/TheBugGenie%3AHowTo%3ANginxConfigura… , a kérdés tehát, hogyan tudnám "egybegyúrni" a két konfig fájlt, hogy ha megnyitom a http://domainem urlt akkor a Drupal, ha pedig a http://domainem/thebuggenie/ urlt akkor a The Bug Genie jöjjön be?
- 9275 megtekintés
Hozzászólások
location / { try_files $uri @rewrite; }
^ elé ezt kéne írni:
location ~ ^/thebuggenie/(.*\.)(png|gif|jpg|jpeg|js|css|ico)$ {
alias /eleresi/ut/thebuggenie/$1$2;
}
location ~ ^/thebuggenie/.* {
include fastcgi_params;
fastcgi_pass unix:/run/php5-fpm.sock;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME /eleresi/ut/thebuggenie/index.php;
}
- A hozzászóláshoz be kell jelentkezni
Köszi, de valami nem kerek így sem. Itt a hibaüzenet:
The webpage at http://asrob.eu/thebuggenie/login has resulted in too many redirects. Clearing your cookies for this site or allowing third-party cookies may fix the problem. If not, it is possibly a server configuration issue and not a problem with your computer.
Learn more about this problem.
Error code: ERR_TOO_MANY_REDIRECTS
Itt pedig a jelenlegi konfig: http://p.ngx.cc/dd
- A hozzászóláshoz be kell jelentkezni
- A hozzászóláshoz be kell jelentkezni
Így sem tökéletes, a domainemre 403-as hibaüzenetet dob, a domainem/thebuggenie/ -re pedig ugyanúgy "redirect loop"-ot kapok.
- A hozzászóláshoz be kell jelentkezni
Semmilyen más szabály nincs rá?
-----
"Egy jó kapcsolatban a társunkat az ő dolgában kell támogatni, nem a miénkben."
rand() a lelke mindennek! :)
- A hozzászóláshoz be kell jelentkezni
Nincsen, errotan által megadott konfigurációt használtam direkt, hogy ne kavarjon be más. Így kaptam a fenti üzeneteket amelyeket leírtam, természetesen azóta visszatettem a régit, hogy elérhető legyen a weboldal. Sajnos ötletem sincs, hogy hogyan tudnám megfelelően konfigurálni már, kerestem "multiple webapps nginx" kulcsszavakra de a más által jónak vélt beállítások sem működtek nálam.
- A hozzászóláshoz be kell jelentkezni
Úgy néz ki, hogy ez segített (kódrészlet):
location ~ ^/thebuggenie/(.*\.)(png|gif|jpg|jpeg|js|css|ico)$ {
alias /srv/www/thebuggenie/thebuggenie/$1$2;
}
location ~ ^/thebuggenie/.+\.php {
include fastcgi_params;
fastcgi_split_path_info ^(.+\.php)(/.+)$;
fastcgi_pass 127.0.0.1:9000;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME /srv/www/thebuggenie/thebuggenie/index.php;
fastcgi_intercept_errors on;
}
location ~ /thebuggenie/(?<suburi>.*) {
set $suburi $1;
try_files $uri $uri/ /thebuggenie/index.php?url=$suburi&$args;
}
-----
"Egy jó kapcsolatban a társunkat az ő dolgában kell támogatni, nem a miénkben."
rand() a lelke mindennek! :)
- A hozzászóláshoz be kell jelentkezni
szerintem a try_files-es location-ba kene megy egy alias is, mert igy a drupal doc-rootban keres fajlokat. persze ha a drupalba van "beszorva" a tbg, akkor nemgond.
csak mivel az uriban mar bennvan a path elso resze, ezert a tbg-t tartalmazo konyvtarat kell megadni (ha jol latom akkor /srv/www/thebuggenie) vagy rewritevel le kell szedni.
rewrite ^/thebuggenie/(.*)$ /$1 break;
alias /srv/www/thebuggenie/thebuggenie/;
try_files $uri $uri/ /index.php?url=$suburi&$args;
meg talan e felso locationba ossze lehet vonni a ket regexp ()-t:
location ~ ^/thebuggenie/(.*\.(png|gif|jpg|jpeg|js|css|ico))$ {
alias /srv/www/thebuggenie/thebuggenie/$1;
}
megsporoltal egy $2-t :D
--
A vegtelen ciklus is vegeter egyszer, csak kelloen eros hardver kell hozza!
- A hozzászóláshoz be kell jelentkezni
Megmondom oszinten, en a try_files -t kerulom, mint a tuzet. Az nginx onerobol is kepes tudni, hogy valami mappa vagy fajl, az osszes tobbi dolog meg if/rewrite parossal megoldhato. A try_files hatalmas problemaja ugyanis, hogy belenyul a location mukodesebe valahogy, es rettento nehez belole ertelmes dolgot kihuzni.
--
Ki oda vagyik, hol szall a galamb, elszalasztja a kincset itt alant. - A hozzászóláshoz be kell jelentkezni
pedig pont hogy a try_files valtja ki azt hogy mindenfele bonyolult rewritevel kelljen varazsolni: ha az url egy letezo fajl, akkor kiszolgalja, ha nem akkor atirja a kerest a parameternek megfeleloen.
a doksi mutat is egy peldat. Raadasul if is evil :D
--
A vegtelen ciklus is vegeter egyszer, csak kelloen eros hardver kell hozza!
- A hozzászóláshoz be kell jelentkezni
Pont ez a problemam. Nagyon sokszor kell nem letezo fajlokat kiszolgalnom ugy, hogy a location mas mappara mutat, illetve nagyon sokszor kell letezo fajlokat jelszovedenem. Ilyenkor rossz a try_files mert nem nyujt semmilyen parameterezesi lehetoseget, viszont mindent, amirol ugy gondolja, hogy ra vonatkozik, azt magara vesz, fuggetlenul attol, hogy az adott fajlhoz esetleg van egy jobban matchelo location szekcio. Ezzel teljesen megboritja mind a location, mind a rewrite rendszer mukodeset, emiatt ha lehet, elkerulom a hasznalatat. Es igen, tudom, hogy if is evil, de ha egyszer nincs ertelmes es megbizhato megoldas, akkor sajnos muszaj evil dolgokat hasznalni.
--
Ki oda vagyik, hol szall a galamb, elszalasztja a kincset itt alant. - A hozzászóláshoz be kell jelentkezni
vagy egy root-al megmondja neki hogy annak a location-nek a file-jait hol keresse es ez ugye nem csak a png gif jpg stb-re vonatkozik..
- A hozzászóláshoz be kell jelentkezni