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,
cdinto a directory containing some CFML code, and run the
startcommand. An available port will be chosen by default and in a few seconds, a browser window will open showing the default document (
CommandBox> cd C:\sites\test
To stop the embedded server, run the
stopcommand from the same directory.
You can start as many embedded server instances as you want. Each running server will add an icon in your system tray with the logo of your currently running engine. Click on it for options:
- Stop Server
- Open Browser
- Open Admin
- Open File System
CommandBox Server Tray Menu
If you don't want the tray integration, then you can turn it off in your
server.jsonwith this setting.
server set trayEnable=false
Or turn it off at a global level in your config settings.
config set server.defaults.trayEnable=false
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 startcommand, refer to the CommandBox API Docs or run
server start helpcommand directly from the CLI.
Any ComandBox environment variables present in the shell will automatically be passed to the environment of the server process. This means, given an example like this:
The CFML code running that server process will be able to "see" the