Gå til innhold

Rubys webseever vil ikke starte


Anbefalte innlegg

Hei. Har begynt og forske litt på Ruby on rail siden jeg synes det ser veldig flott ut.

 

Har skrevet følgende kommandoer

 

rails cookbook

cd cookbook

ruby script\server

da får jeg følgende error

C:\Ruby-Prosjekt\webtest\cookbook>ruby script\server

=> Booting WEBrick...

=> Rails application started on http://0.0.0.0:3000

=> Ctrl-C to shutdown server; call with --help for options

[2006-06-07 16:26:52] INFO WEBrick 1.3.1

[2006-06-07 16:26:52] INFO ruby 1.8.2 (2004-12-25) [i386-mswin32]

[2006-06-07 16:26:52] WARN TCPServer Error: Bare ett bruk av hver enkelt kontak

tadresse (protokoll/nettverk adresse/port) er vanligvis tillatt. - bind(2)

c:/ruby/lib/ruby/1.8/webrick/utils.rb:62:in `initialize': Bare ett bruk av hver

enkelt kontaktadresse (protokoll/nettverk adresse/port) er vanligvis tillatt. -

bind(2) (Errno::EADDRINUSE)

from c:/ruby/lib/ruby/1.8/webrick/utils.rb:62:in `new'

from c:/ruby/lib/ruby/1.8/webrick/utils.rb:62:in `create_listeners'

from c:/ruby/lib/ruby/1.8/webrick/utils.rb:59:in `each'

from c:/ruby/lib/ruby/1.8/webrick/utils.rb:59:in `create_listeners'

from c:/ruby/lib/ruby/1.8/webrick/server.rb:72:in `listen'

from c:/ruby/lib/ruby/1.8/webrick/server.rb:63:in `initialize'

from c:/ruby/lib/ruby/1.8/webrick/httpserver.rb:24:in `initialize'

from c:/ruby/lib/ruby/gems/1.8/gems/rails-1.1.2/lib/webrick_server.rb:59

:in `new'

... 6 levels...

from c:/ruby/lib/ruby/site_ruby/1.8/rubygems/custom_require.rb:18:in `re

quire__'

from c:/ruby/lib/ruby/site_ruby/1.8/rubygems/custom_require.rb:18:in `re

quire'

from c:/ruby/lib/ruby/gems/1.8/gems/activesupport-1.3.1/lib/active_suppo

rt/dependencies.rb:147:in `require'

from script/server:3

 

Mens nå en dag etter så fungerer den fint. Maskinen har heller ikke blitt restarte osv.

 

Hva kan det være slik at jeg vet det til neste gang så jeg ikke blir så sykt frustrert.

 

Takker for alle svar..

Lenke til kommentar
Videoannonse
Annonse

herreknut .. spytter OSet ut norske meldinger for det der; patetisk -- bytt OS snarest

 

vel, meldingen ("EADDRINUSE"; en term MS har "lånt" via socket-stakken til BSD (som de i seg selv _også_ "lånte")) betyr at du allerede har et program eller en prosess som lytter på port 3000; det vil si at den er opptatt og du kan ikke sette ruby-server-prosessen til å lytte på samme port/socket

 

edit:

bare legge til at om du nettopp har stoppet en prosess som lytter på port 3000, og så starter den (eller en annen) som prøver å lytte på samme port - så går det noen ganger litt tid før den "merker" at porten faktisk er ledig

 

om noen er interesserte så kan man (de som har hakket sammen Ruby/RoR?) løse dette ved å bruke `setsockopt' med argumentet `SO_REUSEADDR' .. eller om man er så heldig å jobbe med f.eks. SBCL kan man gjøre: `(setf (sockopt-reuse-address socket) t)' ..

Endret av lnostdal
Lenke til kommentar

ok så det vil si at det er et lite delay før porten rett og slett er ledig igjen :D.

 

Det er vel egentlig logisk, men ikke så praktisk.

 

Da takker jeg for svar og vil bare si at Ruby on Rails er genialt.

 

PS. Jeg stusset også litt over den norske meldingen..

Lenke til kommentar
ok så det vil si at det er et lite delay før porten rett og slett er ledig igjen :D.

 

Det er vel egentlig logisk, men ikke så praktisk.

 

Da takker jeg for svar og vil bare si at Ruby on Rails er genialt.

 

PS. Jeg stusset også litt over den norske meldingen..

6268644[/snapback]

 

Jepp. Desverre hender det at Webrick ikke er helt snill på Windows og ikke får tatt ordentlig shutdown. En liten kikk i Task Manager etter ruby.exe og en kjapp KILLKILLKILL pleier å hjelpe grådig fort ;)

 

Btw - gem install mongrel - en mye raskere og mer stabil development (og produksjon!) webserver for Ruby/Rails.

 

(søk på google på mongrel og rails)

Lenke til kommentar

Hei. beklager jeg er sein :D

 

Ja jeg installerte mongrel og bruker RadRails nå som er helt perfekt :D

 

Jeg er av den typen som lærer seint og defor lurte jeg på om det finnes noen greie tutorials på hvordan en lager en side.

 

Alså med scaffold så får du ramsa opp de som finnes i databasen, men hva om en skal ha det som dette

http://url.no/side/?forside

 

så er liksom forside en variable som blir hentet ut fra databasen..

 

Kansje dårlig forklart.

 

Takker

Lenke til kommentar
  • 3 uker senere...
Alså med scaffold så får du ramsa opp de som finnes i databasen, men hva om en skal ha det som dette

http://url.no/side/?forside

 

så er liksom forside en variable som blir hentet ut fra databasen..

 

Kansje dårlig forklart.

 

Takker

6319304[/snapback]

 

1. Ikke bruk scaffold. Det tjener du ingenting på. Helt sant.

2. Lag en controller som heter Pages (f.eks. Bruk engelske navn på slike ting, det lønner seg), med en metode (f.eks. "show") som henter data fra databasen (eller hvordan du har tenkt å gjøre det) basert på params[:page]. I routes.rb legger du til:

 

map.connect 'side/:page', :controller => 'pages', :action => 'show'

 

Du kan eventuelt bare legge til sider som sidenavn.rhtml i app/views/pages for å kunne bruke url.no/pages/sidenavn

Lenke til kommentar

Opprett en konto eller logg inn for å kommentere

Du må være et medlem for å kunne skrive en kommentar

Opprett konto

Det er enkelt å melde seg inn for å starte en ny konto!

Start en konto

Logg inn

Har du allerede en konto? Logg inn her.

Logg inn nå
×
×
  • Opprett ny...