LiteSpeed Web Server version 4.2.3 brings in some simple, but long-requested features.
First, an overview of what 4.2.3 has (then some more detailed treatment of some of the improvements):
- A new option to hide the LiteSpeed signature in the default error pages.
- The server can now use sendfile() to send back dynamic responses.
- Updated documentation.
- A new option to stop the server from aborting external application processes even when the client connection has been broken.
- The PHP suEXEC daemon can now kill runaway child processes.
- Connections have been reserved for the WebAdmin console to ensure accessibility regardless of the current number of connections.
- The CGI daemon will now log processes killed by signals to stderr.
- The PHP build utility (in the WebAdmin console) now supports PHP up to versions 5.3.25 and 5.4.15.
- Fixed a bug in how rewrite rules handled the FileETag directive.
- Fixed a bug in FreeBSD realtime stats.
Hide the LiteSpeed error page signature: Does exactly what that says. The setting is in the WebAdmin console > Configuration > Server > General > Hide Error Page Signature. Choosing “Yes” will get rid of the words “Powered By LiteSpeed Web Server LiteSpeed Technologies is not responsible for administration and contents of this web site!” on your default error pages.
Sendfile() to send dynamic responses: sendfile() is much more efficient than using read() and write() to copy content. While sendfile() is often used to send static content, LSWS has now enabled sendfile() for dynamic content. This should mean much faster response times for large dynamic responses.
Documentation updates: We have been working hard to make our documentation more complete and up-to-date. Version 4.2.3 includes revised and clarified explanation tags for every setting in the WebAdmin console. We believe this will make LiteSpeed Web Server more accessible and easier to configure. We have also added/updated over 20 articles in our wiki. We will continue doing our best to make LSWS easier to use. Please let us know if there's anything you want explained.
The new External Application Abort setting: (WebAdmin console > Configuration > Server > General) When a client breaks a connection with the the server, LiteSpeed Web Server can automatically abort external application processes generating responses for that client. Normally, you want LSWS to abort these runaway processes. There are some situations, though, where a user may wish to continue a process to the end whether or not the client is still connected (like a long-running process that you start yourself).
There are three options for this:
- No Abort: Never abort external applications because of a broken connection.
- Enable Abort for Requests from External IPs: Only processes started by requests from external IPs will be automatically aborted because of a broken connection. This is the default setting. It is a good setting if you have some internal long-running processes that you don't plan to start from external IPs.
- Enable Abort for All Requests: External application processes will be automatically aborted if the connection is broken, regardless of the source of the request.
Enjoy your newer, more responsive LiteSpeed. Remember, though, that for the first week or so we will still be fixing bugs that come up. If you want to stay away from the cutting edge, wait until we push it to the AutoUpdater. (You will get an email when it goes to autoupdate.)
More on the new version of PHP LSAPI tomorrow!