Web servers in ispmanager
The web server processes requests to sites and web applications on the server and returns the requested pages to the client.
Requests to the ispmanager panel are served by the built-in web server ihttpd. Requests to sites — by the web servers:
- Apache
- Nginx
- Apache + Nginx
- OpenLiteSpeed
- LiteSpeed (commercial web server)
Static and dynamic requests
Static website content is stored on the server as files (HTML, CSS, JS, images) and is served to the client as is. Dynamic content is generated right before being sent by executing code and accessing databases, external APIs and other data sources. Examples of dynamically generated content are social media feeds, search results, shopping carts etc.
Web servers process requests for static content, and the execution of code to generate dynamic content is delegated to one of the handlers:
Request processing
In general, requests to websites are processed in the following way:
- Web server receives and analyzes the request from the client.
- Web server processes the request:
- If static content is requested, the file is immediately sent to the client.
- If dynamic content is requested, the request is passed to the handler. The handler executes the code and sends the generated file to the web server. The web server sends the requested page to the client.
- Web server terminates the connection with the client.
Selecting web server
The choice of a web server depends on many factors:
- website load — thanks to the asynchronous architecture, Nginx, OpenLiteSpeed and LiteSpeed can handle more simultaneous requests than Apache
- amount of static content on the site — thanks to caching and compression, Nginx, OpenLiteSpeed and LiteSpeed are better at serving a large amount of static content than Apache
- type of hosting — Apache is more suitable for virtual (shared) hosting, since it allows configuring settings at the virtual host level by using .htaccess files
- amount of server resources — Nginx, OpenLiteSpeed and LiteSpeed consume less CPU and RAM and are less demanding on resources when scaling up
- website's language — Python and JavaScript require Nginx or a combination of Apache + Nginx
- compatibility with the site code — some sites require support for certain Apache modules
- need for additional features
It is recommended to use Nginx and Apache web servers together.
Additional features
✅ — the feature is configured via the ispmanager panel or is enabled for the web server by default
“Manual configuration only” — the feature is configured by editing configuration files/installing additional modules
❌ — the feature is not supported
Feature | Apache | Nginx | OpenLiteSpeed | LiteSpeed |
---|---|---|---|---|
awstats log analyzer | ✅ | ✅ | ✅ | ✅ |
Web disk | ✅ | ❌ | ❌ | ✅ |
Access to the panel by domain | ✅ | manual configuration only | ||
Protection against DDos | manual configuration only | ✅ | ✅ | manual configuration only |
Caching static content for sites | manual configuration only | ✅ | ✅ | manual configuration only |
Log rotation | ✅ | ✅ | ✅ | ✅ |
Compressing static content for sites | manual configuration only | ✅ | ✅ | manual configuration only |
CGI scripts | ✅ | ✅ | ❌ | ✅ |
HTTP/2 | ❌ | ✅ | ✅ | ✅ |
Node.js | ❌ | ✅ | ❌ | ❌ |
open_basedir | for the "PHP as an Apache module" mode | ❌ | ❌ | ✅ |
PageSpeed | ✅ | ✅ | ✅ | ❌ |
PHP Composer | ✅ | ✅ | ✅ | ✅ |
WAF | ✅ | ✅ | ✅ | ✅ |
Python | ❌ | ✅ | ❌ | ❌ |
SSI | ✅ | ✅ | ❌ | ✅ |
webalizer | ✅ | ✅ | ✅ | ✅ |
.htaccess | ✅ | ❌ | only mod_rewrite directives | ✅ |
Web server configuration files
The panel settings related to the web server are written to:
- configuration file /usr/local/mgr5/etc/ispmgr.conf
- configuration files in the directory /usr/local/mgr5/etc/ispmgr.conf.d/
Web server settings are written to:
global configuration file
DetailsWeb server Configuration file Apache - Debian-based operating systems:
/etc/apache2/apache2.conf
- RHEL-based operating systems:
/etc/httpd/httpd.conf
Nginx /etc/nginx/nginx.conf
OpenLiteSpeed /usr/local/lsws/conf/httpd_config.conf
- Debian-based operating systems:
- site configuration files
- additional features configuration files
If Apache and Nginx are used together, two configuration files are created for the site — one for Apache and one for Nginx.
Configuring sites manually
Configuration files for sites and additional features are generated automatically when creating and editing a site based on templates.
To add your own settings to the configuration of a single site, edit the configuration file for that site.
To add your own settings to the configuration of all sites on a server with ispmanager, edit the templates of site configuration files.
Editing configuration files and site configuration file templates is available to an account with superuser rights.
If manual edits were made via the command line, restart the web server.
systemctl restart apache2
systemctl restart httpd
systemctl restart nginx
systemctl restart lsws
If edits were made via the panel's web interface, restarting a web server is not required.