In Apache, you may wish to enable the HTTP/2 so that the website content can load faster on the request. For this to work you would need Apache to be installed and the HTTP/2 module to be enabled.
root@mysuperweb:/var/www/html# a2enmod http2 Enabling module http2. To activate the new configuration, you need to run: systemctl restart apache2
The above code will enable the HTTP/2 on the Apache, naturally you would need to restart Apache for the changes to take affect. At the same time you also need to make changes to the Apache configuration.
<VirtualHost *:443> Protocols h2 http/1.1 <VirtualHost>
Even with the correct configuration, the HTTP/2 may still not load up, the error logs may show the following message at:
/var/log/apache2/error.log [Thu Jul 19 11:36:00.013581 2018] [http2:warn] [pid 26193] AH10034: The mpm module (prefork.c) is not supported by mod_http2. The mpm determines how things are processed in your server. HTTP/2 has more demands in this regard and the currently selected mpm will just not do. This is an advisory warning. Your server will continue to work, but the HTTP/2 protocol will be inactive.
The issue is where by the default mpm (multi-processing module) in Apache is mpm_prefork, this doesn’t work with Apache as of version 2.4.27, this means that you would use another mpm such as mpm_event or mpm_worker.
The differences between the three types of mpm can be shown below:
prefork - Implements a non-threaded, pre-forking web server. worker - Multi-Processing Module implementing a hybrid multi-threaded multi-process web server. event - A variant of the worker MPM with the goal of consuming threads only for connections with active processing.
You can verify your mpm on the configuration with:
root@mysuperweb:~# apachectl -V Server version: Apache/2.4.25 Server built: 2018-06-02T08:01:13 Server's Module Magic Number: 20120211:68 Server loaded: APR 1.5.2, APR-UTIL 1.5.4 Compiled using: APR 1.5.2, APR-UTIL 1.5.4 Architecture: 64-bit Server MPM: event threaded: yes (fixed thread count) forked: yes (variable process count)