Blog

Brad Wood

December 22, 2016

Spread the word


Share your thoughts

It's beginning to look a lot like Christmas and depending on where you live, snow may be falling!  The only thing cooler than this weather is our 12 Tips of CommandBox Christmas series where today we'll dig into taming all those server environments.

Managing all your servers.

Some of you may only have one site you work on (lucky!) but others of us are always juggling several servers.  Maybe it's more than one CF engine on a single codebase, or perhaps you just have 3 or 4 clients projects going right now.  We've got some tips for keeping everything running.

Name your servers

Once you start a server for the first time, CommandBox will "remember" its name and allow you to issue any "server" command you want via the name.  You can specify the name you want to use, or by default, CommandBox will use the name of the folder that contains the site.  That default can be handy if you have your code in a folder called "project_abc" but less-than-desirable if every project has its code in a folder called "wwwroot" or something equally generic.

CommandBox> server start name=mySpecialServer 

Now that CommandBox knows your servers' names, you can start, stop, restart, view logs, etc of any server regardless of the current working directory of the CLI.  The first parameter to every "server" command is name which lets you do this:

CommandBox> start server1
CommandBox> start server2
CommandBox> restart  server3
CommandBox> stop server1
CommandBox> server log server2
CommandBox> server open server2

Get the 411

Want information on a server to check if it's running, what the web root is, etc?  Use the server info command.

# Get basic information
CommandBox> server info

# All the juicy details
CommandBox> server info --verbose

# In JSON format for external use!
CommandBox> server info --JSON

Can't remember a servers name, or just want a list of all your servers?  use the server list command.

# Every server you've ever started
CommandBox> server list

# All servers currently running
CommandBox> server list --running

# All servers currently stopped
CommandBox> server list --stopped

# All servers whose name includes the text foobar
CommandBox> server list foobar

Change directory to a server

This one is super helpful if you want to quickly jump to the web root of a server, but it's buried deep inside many folders.  The server cd will switch your current working directory straight to the web root of whatever server you specify.

CommandBox> server cd server1
CommandBox> ... do something in server1 ...

CommandBox> server cd server2
CommandBox> ... do something in server2 ...

Forgetta 'bout it!

To free up hard drive space and keep the list of servers clean, you can forget server that you're done working with.  This won't remove any of the code, but will erase any internal information about the server, CF settings, and your server.json file.  The next time you start the server will be like the first time again.  This can also be handy if you somehow screwed up your configuration or bungled a server update.

CommandBox> server forget

 

 

 

 

 

Add Your Comment

Recent Entries

BoxLang 3.4 Blog Series Part I: Gateways, One Interface, Any Platform

BoxLang 3.4 Blog Series Part I: Gateways, One Interface, Any Platform

Every AI agent that touches something real eventually needs a human in the loop. Someone has to approve the delete, confirm the wire transfer, or just say "go ahead" before a tool call runs. The question BoxLang AI 3.4.0 answers is: approve it how? A terminal prompt? A webhook? A Slack button?

Luis Majano
Luis Majano
September 04, 2026
BoxLang 1.17 Series Part1 : Module Inception

BoxLang 1.17 Series Part1 : Module Inception

BoxLang has always been an extensible language. As of 1.17.0, it is a hierarchically extensible one. Every module ecosystem you have worked in is flat. You declare a list of dependencies and something outside the language, a package manager or a build tool, resolves and downloads and orders them. The language itself has no opinion about the shape of the graph. It sees a list, not a tree.

Luis Majano
Luis Majano
September 04, 2026
Why Migrate from ColdFusion to BoxLang? 10 Reasons to Modernize Your CFML Applications

Why Migrate from ColdFusion to BoxLang? 10 Reasons to Modernize Your CFML Applications

For organizations running applications built with ColdFusion or CFML, modernization often comes with an uncomfortable question:

“Do we keep investing in the platform we already have, or do we rewrite everything in another language?”

That choice is not as binary as it may seem.

At Into the Box 2026, Ortus Solutions Senior Architect and BoxLang core developer Jon Clausen presented a session titled “Top Ten Reasons to Migrate to Bo...

Cristobal Escobar
Cristobal Escobar
September 04, 2026