Skocz do zawartości
Zaloguj się, aby obserwować  
Poplop

Nginx - problem z konfiguracją

Polecane posty

Witam,

zacząłem bawić się w konfigurację nginx'a i niestety nie udaje mi się to...

Mam testową domenę poplop.tk i oto konfiguracja /etc/nginx/sites-available/default:

server {
   listen 80;
   server_name poplop.tk;
   access_log /var/log/nginx/poplop.tk.access.log;
   ## Lokacja strony:
   location / {
   root /var/www;
   index index.php;
   }
   ## „Inne” traktowanie obrazkow i plikow statycznych
   location ~* ^.+.(jpg|jpeg|gif|css|png|js|ico|xml)$ {
   access_log off;
   expires 30d;
   root /var/www;
   }
   ## Parsowanie wszystkich plikow .php w katalogu strony: /var/www/www.domena.pl
   location ~ .php$ {
   fastcgi_split_path_info ^(.+\.php)(.*)$;
   fastcgi_index index.php;
   fastcgi_param SCRIPT_FILENAME /var/www$fastcgi_script_name;
   include fastcgi_params;
   fastcgi_intercept_errors on;
   fastcgi_ignore_client_abort off;
   fastcgi_connect_timeout 60;
   fastcgi_send_timeout 180;
   fastcgi_read_timeout 180;
   fastcgi_buffer_size 128k;
   fastcgi_buffers 4 256k;
   fastcgi_busy_buffers_size 256k;
   fastcgi_temp_file_write_size 256k;
   }
   ## Blokowanie widzenia plikow .htaccess & .htpassword
   location ~ /\.ht {
   deny all;
   }
   }
server {
   listen 80;
   server_name phpmyadmin.poplop.tk www.phpmyadmin.poplop.tk;
   access_log /var/log/nginx/phpmyadmin.access.log;
   location / {
   root /var/www/phpmyadmin;
   index index.php;
   }
   location ~ .php$ {
   fastcgi_split_path_info ^(.+\.php)(.*)$;
   fastcgi_pass backend;
   fastcgi_index index.php;
   fastcgi_param SCRIPT_FILENAME /var/www/phpmyadmin$fastcgi_script_name;
   include fastcgi_params;
   fastcgi_intercept_errors on;
   fastcgi_ignore_client_abort off;
   fastcgi_connect_timeout 60;
   fastcgi_send_timeout 180;
   fastcgi_read_timeout 180;
   fastcgi_buffer_size 128k;
   fastcgi_buffers 4 256k;
   fastcgi_busy_buffers_size 256k;
}
   location /phpMyAdmin {
   rewrite ^/* /phpmyadmin last;
   }
   }
   ## Ustawienie portu na którym bedzie sie odbywac komunikacja z PHP
   upstream backend {
   server 127.0.0.1:9000;
   }

 

 

www.phpmyadmin.poplop.tk i phpmyadmin.poplop.tk prawidłowo wskazują na /var/www/phpmyadmin

ale poplop.tk nie wskazuje na /var/www tak jak ustawiłem tylko na /usr/local/nginx/html/index.php .

Czy to problem z powyższą konfiguracją? Jeżeli tak to proszę o wskazanie i poprawienie.

Pod www.poplop.tk można znaleźć phpinfo - nie wiem czy jest potrzebne.

 

Dodaję jeszcze error.log:

2012/05/23 05:56:18 [warn] 1716#0: conflicting server name "poplop.tk" on 0.0.0.0:80, ignored
2012/05/23 05:56:18 [warn] 1717#0: conflicting server name "poplop.tk" on 0.0.0.0:80, ignored

Udostępnij ten post


Link to postu
Udostępnij na innych stronach

Problem w tym że już to widziałem i usunąłem plik poplop.tk z /etc/nginx/sites-available/ i /etc/nginx/sites-enabled/ i teraz tego błędu nie otrzymuję ale nadal domena poplop.tk nie działa prawidłowo.

Udostępnij ten post


Link to postu
Udostępnij na innych stronach

error.log teraz wygląda tak:

2012/05/23 06:29:53 [error] 1062#0: *1 open() "/var/www/favicon.ico" failed (2: No such file or directory), client: 164.127.77.167, server: poplop.tk, request: "GET /favicon.ico H$
2012/05/23 06:29:53 [error] 1062#0: *1 open() "/var/www/favicon.ico" failed (2: No such file or directory), client: 164.127.77.167, server: poplop.tk, request: "GET /favicon.ico H$
2012/05/23 06:30:15 [error] 1062#0: *12 open() "/var/www/favicon.ico" failed (2: No such file or directory), client: 164.127.77.167, server: poplop.tk, request: "GET /favicon.ico $
2012/05/23 06:30:16 [error] 1062#0: *12 open() "/var/www/favicon.ico" failed (2: No such file or directory), client: 164.127.77.167, server: poplop.tk, request: "GET /favicon.ico $
2012/05/23 06:30:59 [error] 1062#0: *2 open() "/usr/local/nginx/html/zuo.php" failed (2: No such file or directory), client: 164.127.77.167, server: poplop.tk, request: "GET /zuo.$
2012/05/23 06:31:05 [error] 1062#0: *2 open() "/usr/local/nginx/html/.php" failed (2: No such file or directory), client: 164.127.77.167, server: poplop.tk, request: "GET /.php HT$
2012/05/23 06:31:16 [error] 1062#0: *14 open() "/var/www/zuo.css" failed (2: No such file or directory), client: 164.127.77.167, server: poplop.tk, request: "HEAD /zuo.css HTTP/1.$
2012/05/23 06:31:30 [error] 1062#0: *16 open() "/var/www/style.css" failed (2: No such file or directory), client: 164.127.77.167, server: poplop.tk, request: "GET /style.css HTTP$
2012/05/23 06:31:42 [error] 1062#0: *20 open() "/usr/local/nginx/html/index.php/.php" failed (20: Not a directory), client: 164.127.77.167, server: poplop.tk, request: "GET /index$
2012/05/23 06:31:58 [error] 1062#0: *21 access forbidden by rule, client: 164.127.77.167, server: poplop.tk, request: "GET /.htaccess HTTP/1.1", host: "poplop.tk"

 

Poprzedni błąd już nie występuje a domena poplop.tk nadal wskazuje na nie poprawny katalog. Szukałem tych vhostów już wszędzie i nie ma ich więcej.

Udostępnij ten post


Link to postu
Udostępnij na innych stronach

Właśnie tej informacji już nie ma po zrestartowaniu nginxa. W konfiguracji nginxa też nic nie ma:

/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;
   # multi_accept on;
}
http {
   include	   /etc/nginx/mime.types;
   access_log  /var/log/nginx/access.log;
   sendfile	    on;
   #tcp_nopush	 on;
   #keepalive_timeout  0;
   keepalive_timeout  65;
   tcp_nodelay	    on;
   gzip  on;
   gzip_disable "MSIE [1-6]\.(?!.*SV1)";
   include /etc/nginx/conf.d/*.conf;
   include /etc/nginx/sites-enabled/*;
}
# mail {
#	 # See sample authentication script at:
#	 # http://wiki.nginx.org/NginxImapAuthenticateWithApachePhpScript
#
#	 # auth_http localhost/auth.php;
#	 # pop3_capabilities "TOP" "USER";
#	 # imap_capabilities "IMAP4rev1" "UIDPLUS";
#
#	 server {
#		 listen	 localhost:110;
#		 protocol   pop3;
#		 proxy	  on;
#	 }
#
#	 server {
#		 listen	 localhost:143;
#		 protocol   imap;
#		 proxy	  on;
#	 }
# }

a vhosta mam już tylko jednego (default) i tam jest ciągle ten sam wpis.

Udostępnij ten post


Link to postu
Udostępnij na innych stronach

w /etc/nginx/conf.d nic nie mam.

w /etc/nginx/sites-enabled mam default, który jest skonfigurowany jak w pierwszym poście.

 

Za każdym razem gdy coś zmieniam w konfiguracji nginxa to robię restart /etc/init.d/nginx restart

 

Jak widać tak...

 

Teraz zauważyłem że jeżeli wejdę przez IP:

195.149.199.89

to również prowadzi do /usr/local/nginx/html/index.php

Udostępnij ten post


Link to postu
Udostępnij na innych stronach

A możesz mi poprawić konfigurację tego vhosta aby była dobrze skonfigurowana (bezpiecznie)?

Udostępnij ten post


Link to postu
Udostępnij na innych stronach

Spróbuj tak:


cd /etc/nginx/
rm -rf sites-enabled
ln -s sites-available sites-enabled

 

Pozniej:


cd sites-available
mv default 000.default

 

W tym pliku 000.default w ustawieniach serwera, na poczatku ma być:

 

server {
listen 80;
server_name _;
root /var/www;

index index.php index.html;

 

A później zrób nano /etc/nginx/sites-available/poplop.tk i strona automatycznie doda się do enabled. U mnie tego typu konfiguracja działa bardzo dobrze, na początku wydawało się trudne ale teraz wydaje się banalne wink.png

Edytowano przez Ganicjusz (zobacz historię edycji)

Udostępnij ten post


Link to postu
Udostępnij na innych stronach

Bardzo dziękuję za pomoc.

Po zrobieniu jak podał Ganicjusz wszystko zaczęło prawidłowo działać. Dziękuję też samu za poradnik do vhostów ;)

Udostępnij ten post


Link to postu
Udostępnij na innych stronach

Linkowanie na sztywno stron dostępnych i włączonych raczej mija się z celem istnienia 2 katalogów. To już lepiej zmienić wpis w nginx.conf na available z enabled.

Udostępnij ten post


Link to postu
Udostępnij na innych stronach

Jeśli dobrze rozumiem, to:

 

1) wywalasz jeden katalog z konfiguracją (z dwóch) i robisz 'z dwóch' jeden (symlinkowany wzajemnie)

2) ustawiasz, by każda domena była obsługiwana przez jeden vhost.

 

Nie wiem, czy zależy mu, by jego strona dostępna była pod każdą domeną (server_name _wink.png ;-)

 

Hmm chyba nie bo ten plik 000.default jest dla nie ustawionych domen - tak przynajmniej pisało w poradniku wink.png Mam jeszcze host dla mojej domeny czyli /etc/nginx/sites-available/mojadomena.pl i tam umieściłem wszystkie ważne ustawienia i działają one właśnie z tego hosta właściwego dla domeny więc działa to poprawnie. Ale jeśli coś tu jest błędnę bądź gadam głupoty to prosiłbym o spostowanie bo stawiam dopiero pierwsze kroki w nginx. wink.png

 

Z tym linkowaniem na sztywno to może i racja ale w sumie to jest mało istotne. wink.png

Edytowano przez Ganicjusz (zobacz historię edycji)

Udostępnij ten post


Link to postu
Udostępnij na innych stronach

Bądź aktywny! Zaloguj się lub utwórz konto

Tylko zarejestrowani użytkownicy mogą komentować zawartość tej strony

Utwórz konto

Zarejestruj nowe konto, to proste!

Zarejestruj nowe konto

Zaloguj się

Posiadasz własne konto? Użyj go!

Zaloguj się

Zaloguj się, aby obserwować  

×