So why 3000?

Why does the rails server default to port 3000?

It’s been like that since the first commit ( so I expect you’d have to ask the man himself.


On most *nix systems, listening on a port below 1024 requires super-user (root) access. All the ports above 1024 do not, removing the need to execute the ruby command using root access.

As far as why 3000 specifically, I don’t believe it has any particular significance, although you’d have to research back to the early days of Rails to know if there was a specific compelling reason this port was chosen as the default.

Typically you only use that in development, because in a production environment you will have a web server like nginx that will operate on the normal web port (80)


​Because DHH decided so, that's why​!