A common question we get now is how to take a CommandBox server and wrap it in a Windows service so it starts automatically at boot time. This is ideal for production use or just a dev site that you always want to stay running. With this new screencast, you will learn how to take any CommandBox server and install it as a Windows service using a free tool called NSSM.
Add Your Comment
(6)
Dec 06, 2018 06:31:32 UTC
by Mark Drew
This is great! very handy! But as it's console, where does the startup log go (in case you need to debug it's start?)
Dec 06, 2018 08:21:26 UTC
by Brad Wood
Hi Mark, the console logs still go the same place they always do. You can view them with "server log" as well as looking at the log file on disk. If you need to debug a server, I recommend just running the start command manually in a terminal to debug it. NSSM also has a logging setting you can enable that will capture ALL the output of CommandBox including any output of the "server start" command itself prior to the actual server process coming online.
Sep 13, 2021 15:36:57 UTC
by Tom
Normally when I run CommandBox, the server context resides under my user profile. When CommandBox runs as a service, does this change the server context? I need to import the password file. I'm having an issue with cfconfig at the moment (you are also helping me via FaceBook Group ColdFusion Programmers at the moment) so until I can get that resolved, I'm setting up the admin manually.
Sep 13, 2021 15:56:52 UTC
by Bradley D Wood
Tom, unless otherwise configured, CommandBox will extract itself into the user home dir. When you run it as a Windows service, it will use the home directory of the Windows System account by default (unless you configure another user for it to run as) which is buried inside your windows/system32 folder. This will give you a totally separate installation of CommandBox with different settings, modules, etc. I recommend you "pin" your server home with a "commandbox.properties" file as described in the docs here: https://commandbox.ortusbooks.com/setup/installation
Nov 18, 2021 10:01:30 UTC
by Marco
Thanks for this post. One question: Isn't it possible to use some setting in the config files to keep a specific commandbox started server alive?
Nov 18, 2021 15:26:46 UTC
by Brad Wood
Marco, NSSM will actually auto-start service by default I think. It's configurable on one of the tabs I didn't show. I actually recommend you look into this CommandBox module that we made after this screencast was produced. It automatically creates the services for you with a single command and works on Windows, Linux, and Mac. https://commandbox-service-manager.ortusbooks.com/ It is a paid module ($49)