Server::Control allows you to control servers ala apachectl, but with better diagnostics and many more features. It includes both a drop-in replacement for apachectl (”apachectlp”) and an OO interface.

Though it was designed with Apache in mind, there are also subclasses for HTTP::Server::Simple and Net::Server, and it’s general enough to use with any server that has a pid file and listens on a port.

Features include:

    * Checks server status via both pid file and port connect
    * Detects and handles corrupt or out-of-date pid files
    * Reports what is using a port when it is busy (via lsof)
    * Tails the error log when server fails to start
    * Supports sudo usage for restricted (< 1024) port
* Easy to customize for your environment with start/stop hooks, etc.

Coming soon: plugins for common tasks associated with starting and stopping servers, such as generating conf files from templates and auto-restarting a server on file change.

If you try this and have problems getting it to work, or suggestions for improvement, please let me know!

Jon

Reply via email to