2016-04-07 4 views
6

Ich benutze Rails 4.2.6 und Ruby 2.3.0 und Puma 3.3.0 Während der letzten paar Tage habe ich einige Bundle-Update und nach Rails alle Browser für die selbe URL localhost: 3000 rendern die gleiche leere Seite. Dies ist konsistent für alle 6-7 Anwendungen, mit denen ich spiele. Alle arbeiten jedoch in "Produktion", wenn sie in Heroku eingesetzt werden. Scheint nur eine Frage zu meinem dev env zu sein.Kann localhost nicht ausführen: 3000: weiße leere Seite wird gerendert

Weiß nicht, wie man das löst. Jede Hilfe wird sehr geschätzt. Die Entwicklung kann nicht fortgesetzt werden, wenn der Komponententest für den von mir entwickelten Code nicht ausgeführt werden kann.

Allerdings funktioniert alles gut, wenn ich einen anderen Port verwende. Zum Beispiel, wenn ich den App Server mit den Command Rails s -p 3001 oder Port 3002 starte habe ich keine Probleme die apps in jedem Browser mit der URL localhost: 3001 oder localhost: 3002 zu starten.

Was ist falsch mit meinem 3000 Port oder Puma oder beides?

+0

Haben Sie Warnungen, die auf Port 3000 laufen? Gibt es andere Anwendungen (Serverinstanzen), die diesen Port verwenden können? –

+0

Keine Warnungen, die Protokolle sagen nur Code 200, Erfolg beim Rendern der Hauptseite. Die Seite wird jedoch im Browser leer angezeigt. Ich habe keinen anderen Server oder eine andere App, die auf Port 3000 läuft. Um sicher zu sein, habe ich meinen Mac vor allem neu gestartet. Ich überprüfe immer mit dem Befehl ps -ef | grep rails, um zu sehen, welche Server ich betreibe. –

+1

OK, ich habe das benutzt und ich habe zwei (2) Parasitenprozesse gefunden. lsof -i tcp: 3000 COMMAND PID USER FD TYPE Gerätegröße/OFF Knotenname Rubin 1014 liviu-mac 11u IPv6 0x9df9befdd9c36123 0t0 TCP localhost: HBCI (LISTEN) Rubin 1015 liviu-mac 11u IPv6 0x9df9befdd9c36123 0t0 TCP localhost: hbci (LISTEN) Nachdem ich sie mit kill -9 PID getötet habe, scheint das Problem jetzt gelöst zu sein. –

Antwort

12

Es kann in lokal in Dev und nie in "prod", d. H. Heroku aufgrund eines Fehlers beim Stoppen von Puma passieren. Einige Male sind einige Prozesse nicht wegen getötet:

levi-test-01 liviu-mac $ rails s 
=> Booting Puma 
=> Rails 4.2.6 application starting in development on http://localhost:3000 
=> Run `rails server -h` for more startup options 
=> Ctrl-C to shutdown server 
[4589] Puma starting in cluster mode... 
[4589] * Version 3.3.0 (ruby 2.3.0-p0), codename: Jovial Platypus 
[4589] * Min threads: 5, max threads: 5 
[4589] * Environment: development 
[4589] * Process workers: 2 
[4589] * Preloading application 
[4589] * Listening on tcp://localhost:3000 
[4589] Use Ctrl-C to stop 
[4589] - Worker 1 (pid: 4603) booted, phase: 0 
[4589] - Worker 0 (pid: 4602) booted, phase: 0 
^C[4589] - Gracefully shutting down workers... 
/Users/liviu-mac/.rbenv/versions/2.3.0/lib/ruby/gems/2.3.0/gems/rack-1.6.4/lib/rack/server.rb:355:in `delete': No such file or directory @ unlink_internal - /Users/liviu-mac/ror/levi-test-01/tmp/pids/server.pid (Errno::ENOENT) 
    from /Users/liviu-mac/.rbenv/versions/2.3.0/lib/ruby/gems/2.3.0/gems/rack-1.6.4/lib/rack/server.rb:355:in `block in write_pid' 
    from /Users/liviu-mac/.rbenv/versions/2.3.0/lib/ruby/gems/2.3.0/gems/puma-3.3.0/lib/puma/cluster.rb:120:in `fork' 
    from /Users/liviu-mac/.rbenv/versions/2.3.0/lib/ruby/gems/2.3.0/gems/puma-3.3.0/lib/puma/cluster.rb:120:in `block in spawn_workers' 
    from /Users/liviu-mac/.rbenv/versions/2.3.0/lib/ruby/gems/2.3.0/gems/puma-3.3.0/lib/puma/cluster.rb:116:in `times' 
    from /Users/liviu-mac/.rbenv/versions/2.3.0/lib/ruby/gems/2.3.0/gems/puma-3.3.0/lib/puma/cluster.rb:116:in `spawn_workers' 
    from /Users/liviu-mac/.rbenv/versions/2.3.0/lib/ruby/gems/2.3.0/gems/puma-3.3.0/lib/puma/cluster.rb:418:in `run' 
    from /Users/liviu-mac/.rbenv/versions/2.3.0/lib/ruby/gems/2.3.0/gems/puma-3.3.0/lib/puma/launcher.rb:172:in `run' 
    from /Users/liviu-mac/.rbenv/versions/2.3.0/lib/ruby/gems/2.3.0/gems/puma-3.3.0/lib/rack/handler/puma.rb:51:in `run' 
    from /Users/liviu-mac/.rbenv/versions/2.3.0/lib/ruby/gems/2.3.0/gems/rack-1.6.4/lib/rack/server.rb:286:in `start' 
    from /Users/liviu-mac/.rbenv/versions/2.3.0/lib/ruby/gems/2.3.0/gems/railties-4.2.6/lib/rails/commands/server.rb:80:in `start' 
    from /Users/liviu-mac/.rbenv/versions/2.3.0/lib/ruby/gems/2.3.0/gems/railties-4.2.6/lib/rails/commands/commands_tasks.rb:80:in `block in server' 

Ausführen eines Befehls wie folgt aus:

levi-test-01 liviu-mac $ lsof -i :3000 

listet alle verbleibenden Prozesse port 3000 verwenden.

ein Befehl wie

levi-test-01 liviu-mac $ kill -9 PID 

löst das Problem.