tai16 0 Zgłoś post Napisano Styczeń 17, 2009 Witam. Na wstępie chciałbym podkreślić, że nie jestem żadnym specjalistą i prosiłbym o wyrozumiałość. Jeśli temat zamieściłem w złym dziale prosiłbym o przeniesienie. Zakupiłem serwer dedykowany (system operacyjny to Debian) na którym początkowo był zainstalowany serwer HTTP Apache 2 , MySQL 5.0.67 oraz PHP 5.2.0 +etch-13. Ze względu na to że nie mogłem tego odinstalować ponieważ w dpkg nie występowały te elementy na liście zainstalowanych to tylko je odłączyłem w procesach uruchamianych przy starcie systemu. Następnie skonfigurowałem to wedle własnego zamysłu czyli: - Nginx 0.7.30 - MySQL 5.0.32 (tylko ten był w repozytoriach najnowszy) - PHP 5.2.8 z FastCGI z nakładką PHP-fpm 5.10 Wszystko udało mi się zainstalować i skonfigurować poprawnie (tak mi się przynajmniej wydaje) oraz sukcesywnie przenieść całe swoje forum na nowy serwer. Zaistniał tylko jeden problem, którego nie mogę rozgryźć. Mianowicie strona czy to główna, czy lista tematów, czy post, czy strona profilu nie ma różnicy - czasami się nie ładuje do końca. To wygląda tak jakby w trakcie wyświetlania w połowie albo nawet i prędzej skrypt się zatrzymał i uznał że całość już jest załadowana. Dodatkowo nie występuje to regularnie, czasami jest cały czas dobrze i wyświetla się prawidłowo bez problemów, a czasem notorycznie przy każdej próbie wejścia gdziekolwiek urywa stronę. Dlatego proszę o pomoc. Czy mógłby mnie ktoś mniej więcej naprowadzić czym to może być spowodowane i jak to naprawić ? Moim zdaniem jest problem z PHP , ponieważ MySQL i Nginx sądze, że jest optymalnie i poprawnie skonfigurowany. Jeśli będą jakieś dodatkowe pliki, configi czy informację to je zamieszcze tylko proszę powiedzieć co konkretnie. Łączę wyrazy szacunku, Tai Udostępnij ten post Link to postu Udostępnij na innych stronach
Gość patrys Zgłoś post Napisano Styczeń 17, 2009 Jakiś cacher w php? Błąd występował na poprzedniej platformie ? Podaj adres strony i konfiguracje, a będzie prościej coś powiedzieć. Udostępnij ten post Link to postu Udostępnij na innych stronach
tai16 0 Zgłoś post Napisano Styczeń 17, 2009 Jakiś cacher w php? Błąd występował na poprzedniej platformie ?Podaj adres strony i konfiguracje, a będzie prościej coś powiedzieć. Na poprzedniej platformie problem nie występował. Konfiguracja PHP: http://ephe.fe.pl/ Adres forum: http://ephe.pl Plik my.cnf: [client] port = 3306 socket = /var/lib/mysqld.sock [mysqld_safe] socket = /var/lib/mysqld.sock nice = -10 open_files_limit = 8192 [mysqld] user = mysql pid-file = /var/run/mysqld/mysqld.pid socket = /var/lib/mysqld.sock port = 3306 basedir = /usr datadir = /var/lib/mysql tmpdir = /tmp language = /usr/share/mysql/english #skip-external-locking safe-show-database #old_passwords back_log = 50 myisam_sort_buffer_size = 64M key_buffer_size = 16M join_buffer_size = 1M read_buffer_size = 1M sort_buffer_size = 2M wait_timeout = 40 connect_timeout = 10 max_allowed_packet = 64M thread_stack = 128K thread_cache_size = 384 #max_connections = 100 table_cache = 4000 thread_concurrency = 8 query_cache_limit = 4M query_cache_size = 80M tmp_table_size = 64M max_heap_table_size = 64M net_buffer_length = 16384 concurrent_insert = 2 table_lock_wait_timeout = 30 read_rnd_buffer_size = 786432 bulk_insert_buffer_size = 8M query_cache_type = 1 query_prealloc_size = 262144 query_alloc_block_size = 65536 transaction_alloc_block_size = 8192 transaction_prealloc_size = 4096 default-storage-engine = MyISAM max_write_lock_count = 8 #skip-innodb [mysqldump] quick max_allowed_packet = 16M [mysql] #no-auto-rehash # faster start of mysql but no tab completition [isamchk] key_buffer = 64M sort_buffer = 64M read_buffer = 16M write_buffer = 16M Konfiguracja Nginxa: server { listen 80; server_name ephe.pl www.ephe.pl; location / { index index.php index.htm index.html; root /var/www/html/forum; rewrite ^/((urllist|sitemap_).*\.(xml|txt)(\.gz)?)$ /vbseo_sitemap/vbseo_getsitemap.php?sitemap=$1 break; if ($request_filename ~ "\.php$" ) { rewrite ^/(.*)$ /vbseo.php break; } if (!-e $request_filename) { rewrite ^/(.*)$ /vbseo.php break; } } location ~\.php$ { root /var/www/html/forum; fastcgi_pass 127.0.0.1:9000; fastcgi_index index.php; fastcgi_param SCRIPT_FILENAME /var/www/html/forum$fastcgi_script_name; include fastcgi_params; } } Cacher próbowałem zainstalować Xcache 1.2.2 bynajmniej po zainstalowaniu paczki (wszystko przebiegło pomyślnie) nie widzę go w konfiguracji PHP. Udostępnij ten post Link to postu Udostępnij na innych stronach
merloy 0 Zgłoś post Napisano Styczeń 17, 2009 Czy php5-cgi nasluchuje na porcie 9000? Jesli nie, php5-cgi -b 127.0.0.1:9000 & Udostępnij ten post Link to postu Udostępnij na innych stronach
tai16 0 Zgłoś post Napisano Styczeń 17, 2009 Przy odpaleniu komendy którą zaproponowałeś: php5-cgi -b 127.0.0.1:9000 & Wyskoczył błąd: PHP Warning: Module 'json' already loaded in Unknown on line 0Cannot bind/listen socket - [98] Address already in use. Couldn't create FastCGI listen socket on port 127.0.0.1:9000 [1]+ Exit 255 php5-cgi -b 127.0.0.1:9000 Udostępnij ten post Link to postu Udostępnij na innych stronach
kafi 2425 Zgłoś post Napisano Styczeń 17, 2009 Gdyby PHP-fcgi nie był odpalony, to by się chyba nic nie wyświetlało... @tai16 - pokaż plik fastcgi_params. Udostępnij ten post Link to postu Udostępnij na innych stronach
tai16 0 Zgłoś post Napisano Styczeń 17, 2009 Plik fastcgi_params: fastcgi_param QUERY_STRING $query_string;fastcgi_param REQUEST_METHOD $request_method; fastcgi_param CONTENT_TYPE $content_type; fastcgi_param CONTENT_LENGTH $content_length; fastcgi_param SCRIPT_NAME $fastcgi_script_name; fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; fastcgi_param REQUEST_URI $request_uri; fastcgi_param DOCUMENT_URI $document_uri; fastcgi_param DOCUMENT_ROOT $document_root; fastcgi_param SERVER_PROTOCOL $server_protocol; fastcgi_param GATEWAY_INTERFACE CGI/1.1; fastcgi_param SERVER_SOFTWARE nginx/$nginx_version; fastcgi_param REMOTE_ADDR $remote_addr; fastcgi_param REMOTE_PORT $remote_port; fastcgi_param SERVER_ADDR $server_addr; fastcgi_param SERVER_PORT $server_port; fastcgi_param SERVER_NAME $server_name; # PHP only, required if PHP was built with --enable-force-cgi-redirect fastcgi_param REDIRECT_STATUS 200; Udostępnij ten post Link to postu Udostępnij na innych stronach
merloy 0 Zgłoś post Napisano Styczeń 17, 2009 Sprawdź logi nginxa, ustaw dla php.ini error log. Przewaznie jest to spowodowane przez cacher`a, pokaz jeszcze php5-cgi -v. Udostępnij ten post Link to postu Udostępnij na innych stronach
tai16 0 Zgłoś post Napisano Styczeń 17, 2009 Nginx nie ma ustawionych logów :/ php5-cgi -v daje: PHP Warning: Module 'json' already loaded in Unknown on line 0PHP 5.2.0-8+etch13 (cgi-fcgi) (built: Oct 2 2008 08:21:17) Copyright ? 1997-2006 The PHP Group Zend Engine v2.2.0, Copyright ? 1998-2006 Zend Technologies EDIT: Error log w php.ini ustawiony , zapisywanie logów w nginx ustawione a demony zresetowane. Udostępnij ten post Link to postu Udostępnij na innych stronach
tai16 0 Zgłoś post Napisano Styczeń 17, 2009 Logi php puste jak na razie. Logi nginxa: 2008/12/31 04:36:36 [alert] 2632#0: accept() failed (24: Too many open files) while accepting new connection on 0.0.0.0:80 Błąd ten występuje cały czas kilkadziesiąt razy na sekundę. Dopisałem więc do configu: worker_rlimit_nofile 10240; Teraz z kolei występuje w logach: http://wklej.org/hash/4f667e8650/ Udostępnij ten post Link to postu Udostępnij na innych stronach
merloy 0 Zgłoś post Napisano Styczeń 17, 2009 Widzisz, trzeba bylo tak odrazu... zarzuc ulimit -a | grep -n i zmien wartosc -n na wieksza... tak plus tysiac na poczatek. Udostępnij ten post Link to postu Udostępnij na innych stronach
p 3 Zgłoś post Napisano Styczeń 17, 2009 Błąd ten występuje cały czas kilkadziesiąt razy na sekundę.Zwiększ limit otwartych plików dla użytkownika, z którego prawami chodzi nginx. Udostępnij ten post Link to postu Udostępnij na innych stronach
tai16 0 Zgłoś post Napisano Styczeń 17, 2009 Dopisałem więc do configu: worker_rlimit_nofile 10240; Teraz z kolei występuje w logach: http://wklej.org/hash/4f667e8650/ Zarzuciłem: ulimit -a | grep 10240 Logi z tej chwili: http://wklej.org/hash/c4281f1c2f/ Udostępnij ten post Link to postu Udostępnij na innych stronach
merloy 0 Zgłoś post Napisano Styczeń 17, 2009 Daj mu tmp na /tmp... Albo jak ci nie wyjdzie, to mkdir /usr/local/nginx/fastcgi_temp ; chmod 777 /usr/local/nginx/fastcgi_temp Jeśli nadal bedziesz miec problem, podeslij PW, akurat mam dzis nocke wiec chetnie ci pomoge. Udostępnij ten post Link to postu Udostępnij na innych stronach
tai16 0 Zgłoś post Napisano Styczeń 17, 2009 Katalogu nie tworzyłem ponieważ już istnieje z całą strukturą podkatalogów Dałem więc : chmod 777 /usr/local/nginx/fastcgi_temp chmod 777 /usr/local/nginx/fastcgi_temp/* Tylko sądzę, że chmod dotyczy tylko katalogu fastcgi_temp a jego podkatalogów już nie i dlatego problem nadal występuje. Dobra teraz dałem: chmod -R 777 /usr/local/nginx/fastcgi_temp czekam aż logi dojdą i zobacze czy to poprawiło sytuacje Udostępnij ten post Link to postu Udostępnij na innych stronach
kafi 2425 Zgłoś post Napisano Styczeń 17, 2009 chmod 777 /usr/local/nginx/fastcgi_temp/* A cóż to za konstrukcja chmod -R 777 /usr/local/nginx/fastcgi_temp Udostępnij ten post Link to postu Udostępnij na innych stronach
tai16 0 Zgłoś post Napisano Styczeń 18, 2009 Dziękuję bardzo wszystkim za odpowiedzi a zwłaszcza ze strony merloy. Problem z ładowaniem strony został rozwiązany. Łącze wyrazy szacunku, Tai Udostępnij ten post Link to postu Udostępnij na innych stronach
tai16 0 Zgłoś post Napisano Styczeń 24, 2009 Witam ponownie ... uznałem, że bez sensu zakładać nowy temat więc posłużę się tym co by nie robić zbyt dużego bajzlu. Uruchomiłem w nginxie logi na poziomie notice by zbadać dlaczego otrzymuje cały czas: 2009/01/19 13:31:11 [alert] 19347#0: worker process 19351 exited on signal 92009/01/19 13:37:11 [alert] 19451#0: worker process 19455 exited on signal 9 2009/01/19 13:38:11 [alert] 19467#0: worker process 19471 exited on signal 9 2009/01/19 13:46:11 [alert] 19637#0: worker process 19641 exited on signal 9 2009/01/19 13:52:11 [alert] 19733#0: worker process 19737 exited on signal 9 Wynik logów nginxa (fragment) z poziomu notice: http://wklej.org/hash/7fd1faf510/ Niestety, ale nie potrafię nic z tego wywnioskować i znaleźć na ten problem rozwiązania. Jeśli ktoś wie w czym leży problem lub jak na niego zaradzić byłbym wdzięczny za wskazówki. Pozdrawiam Udostępnij ten post Link to postu Udostępnij na innych stronach
p 3 Zgłoś post Napisano Styczeń 24, 2009 Uruchomiłem w nginxie logi na poziomie notice by zbadać dlaczego otrzymuje cały czas:Jak można się łatwo domyślić, poziom notice nie służy do debugowania, a z tych logów nic nie wynika. Udostępnij ten post Link to postu Udostępnij na innych stronach