A question, or two?

If you're starting the server with


you can use the -p option to choose which port number the server starts on. So if you already have one server running on port 3000, you can start another on 3001 with

script/server -p 3001


They suggested the simplest ways, for development.

In production, you'll likely have a static web server (nginx, apache, lighttpd) providing virtual hosts, serving static, and proxying dynamic requests back to mongrel. This configuration allows you assign different Rails applications to different IP address, domain names, URIs, ports, etc.

Suffice it to say that there's nothing negative inherent in Rails with respect to deployment.

Each server running on a system needs its own port number, and in development it's easiest to run a separate server for each application.

In production, you might do things differently.