SystemD
MyAppServer allows you to create a service for your software which is registered with the operating system service supervisor (SystemD).
Service control
Once created this service can be controlled by yourself. You can start/stop/restart it or send a TERM/KILL signal to its process group.
Service supervision
If your service exits My App Server has configured SystemD to restart it, no matter what the exit reason is:
- Normal (0) exit code
- Unclean exit code
- Unclean signal (e.g. SIGABRT, SIGKILL, etc.)
- Timeout during start/stop
- Failure to send a WatchDog signal
Service monitoring
Once started the service is constantly monitored.
E.g. in the default configuration HTTP requests are sent to each of the configured domains landing pages. If any of the requests fails the service is restarted.
Also, if the service fails to send a READY notification within a configured start timeout it is also considered as failed and a restart is tried.
To disable the service monitoring you can:
# Only do a "connect" check to the AJP port:
echo '[{"name":"CONNECT"}]' > my_appserv/envdir/MAS_WD_VHOSTS
# Do not do any checks, even the connect . Only send READY and KEEP-ALIVE signals to SystemD:
echo '[]' > my_appserv/envdir/MAS_WD_VHOSTS
Note that you can also make changes to the WatchDog or completely replace it with your own implementation if your service requires it.
Runs with your system user
The service runs with the privileges of your system user. This means that it has full access to all the resources in your web hosting account - files, databases, network connections, mailboxes, etc.
Own network
A private dedicated IP address is allocated to your service. Thus it can accept connections to any Network port that is available to your system user.
Under Linux, ports 1-1024 are typically reserved for privileged users. The rest are available for your use. It is guaranteed that the whole range of ports ( 1024 - 65536 ) is available for your use (TCP, UDP, etc.).