Blog

CommandBox Embedded Server

Brad Wood February 25, 2015

Spread the word

Brad Wood

February 25, 2015

Spread the word


Share your thoughts

One of the most useful features of CommandBox is the ability to start an ad-hoc server quickly and easily. Any folder on your hard drive can become the web root of a server. To start up the server, cd into a directory containing some CFML code, and run the start command. An available port will be chosen by default and in a few seconds, a browser window will open showing the default document (index.cfm).

CommandBox> cd C:\sites\test
CommandBox> start


To stop the embedded server, run the stop command from the same directory.

CommandBox> stop

OS Integration

You can start as many embedded server instances as you want. Each running server will add a little green "Ortus" icon in your system tray. Right click on it for options:

  • Stop Server
  • Open Browser
  • Open Admin

Full Control

CommandBox's embedded server does not require any prior installations of any CFML engine to work. It does not use Apache, IIS, or Nginx. A very lightweight Java web server called Undertow is used and a context is programmatically deployed via a WAR file.

You should still have all the options you need to set up most local development servers quickly. The web-based administrator is available to you where you can edit any setting, add data sources, CF mappings, and mail servers. To see a list of all the parameters you can pass to the server start command, refer to the CommandBox API Docs or run server start help command directly from the CLI.

Add Your Comment

(9)

Aug 02, 2015 18:55:16 UTC

by ronnie

how can I open server administration using CommandBox in mac?

Aug 02, 2015 19:07:41 UTC

by Brad Wood

Ronnie, the same options shown in the context menu above should be available on the CommandBox icon in your dock. You can also just type in the normal address to the Lucee web administrator. /lucee/admin/server.cfm

Aug 03, 2015 21:56:13 UTC

by Ronnie

Thank you Brad :) It works

Sep 24, 2019 17:35:39 UTC

by David Levin

Is Undertow suitable for hosting production websites? Or does Ortus recommend deploying to another web server like Apache, IIS, or Nginx? Assuming Undertow is okay for production use, how would one configure Undertow's configuration say, for example, you want to create rewrite rules, HTTP/HTTPS redirects, etc?

Sep 24, 2019 17:57:54 UTC

by Brad Wood

David, Undertow is a very capable and performant web server. I've done head-to-head test against Nginx and Apache serving static files and it has the same throughput. The only downside I'd say is if you were serving large binaries files and didn't want the JVM to be touching them. Otherwise, it's totally acceptable to use undertow directly so long as you take the normal lockdown steps. We support URL rewriting and blocking of paths via Tuckey Rewrites which are covered in the docs. I can answer any more specific questions as well as share some common lockdown configs on Slack.

Nov 01, 2019 13:03:37 UTC

by Bluezoom

Hi Brad -Is there a way to specify which browser Commandbox auto opens when launching a server? We would like to specify one other than the default browser,

Nov 01, 2019 13:19:54 UTC

by Brad Wood

Hi Bluezoom, right now CommandBox uses whatever the default browser is for your operating system. We can look into somehow overriding that, but right now it just delegates out to a system call and lets the OS handle it. The process also varies based on whether you have Windows, Mac, or Linux.

Nov 01, 2019 13:24:34 UTC

by Bluezoom

Thanks Brad! It would be great to be able to specify a browser path in the config file, or use the default if that value is blank or nonexistent.

Nov 01, 2019 13:28:51 UTC

by Brad Wood

Here's the existing ticket for that: https://ortussolutions.atlassian.net/browse/COMMANDBOX-1021

Recent Entries

CBWIRE 2.2 Released

CBWIRE 2.2 Released

We're excited to announce the release of CBWIRE 2.2. This release includes several added enhancements, such as new lifecycle hooks and simplified Turbo Drive integration. We changed the previous lifecycle hook of mount() to onMount() to be consistent, and several bugs were squashed.

Maria Jose Herrera
Maria Jose Herrera
January 09, 2023
FORGEBOX v7.1.0 Released

FORGEBOX v7.1.0 Released

We are so happy to announce a minor release for our package management system. In this release, we take care of some bug fixes reported and a lot of work for our elastic search engine. Now better search results with an improved response time. We have updated our core modules to the latest versions for better security and performance.

Javier Quintero
Javier Quintero
December 30, 2022
Favorite 2022 Ortus Content

Favorite 2022 Ortus Content

2022 was quite the year. For us, it was all about delivering exceptional content and service to our amazing community of developers. That's why we updated our tools, released new products, and announce upcoming projects and initiatives we are working on for 2023.

We know 2023 will be awesome but 2022 was amazing too. Read on and don't miss anything, review the top content we released in 2022 and improve your projects in 2023. Happy New Year!

Maria Jose Herrera
Maria Jose Herrera
December 29, 2022