CWP WebServers Config

Now with CWP servers, you have the highest flexibility that you could ever imagine.
You can run different Web Servers Setup for each domain and even combine other servers and have many other possibilities. To have the ability of all options first you need to install and enable all webservers that you would need.
We recommend going with all: Nginx/Varnish/Apache as then you have all other options.

1. Install required WebServers
In CWP.admin left menu go to WebServer Settings -> Select WebServers

Apache Only
With apache only, you get all these options available per domain/subdomain.
– 10.1 Apache + php-cgi (suPHP handler running PHP Selector & PHP Switcher, it can also change PHP version per folder).
– 10.2 Apache + php-fpm (via PHP-FPM Selector, one php version per domain/subdomain).
– 10.3 Apache + proxy (proxy to custom port, example for tomcat or to other IP and port).

Nginx Only
With nginx only, you have this two options available per domain/subdomain.
Please note that Nginx with PHP-FPM requires custom templates for each type of cms as it handles rewrite rules in the vhost configuration.
– 20.2 Nginx + php-fpm (via PHP-FPM Selector, one php version per domain/subdomain).
– 20.3 Nginx + proxy (proxy to custom port, example for tomcat or to other IP and port).

LiteSpeed
This is the same setup like “Apache Only” with php-cgi/suPHP handler.

Nginx & Apache
This option allows you to run the best from both worlds of Nginx & Apache.
Since Nginx is if front of Apache it will also handle many static files and reduce the load on apache so apache can handle more traffic.
– 10.1.1 Nginx/Apache + php-cgi (suPHP handler running PHP Selector & PHP Switcher, it can also change PHP version per folder).
– 10.2.1 Nginx/Apache + php-fpm (via PHP-FPM Selector, one php version per domain/subdomain).
– 10.3.1 Nginx/Apache + proxy (proxy to custom port, example for tomcat or to other IP and port).
– 20.2 Nginx + php-fpm (via PHP-FPM Selector, one php version per domain/subdomain).
– 20.3 Nginx + proxy (proxy to custom port, example for tomcat or to other IP and port).

Nginx & Varnish
This option is recommended only if you need to use Nginx & Varnish as proxy and cache servers for your other server or a custom application running on a custom port.
– 20.2 Nginx + php-fpm (via PHP-FPM Selector, one php version per domain/subdomain).
– 20.3 Nginx + proxy (proxy to custom port, example for tomcat or to other IP and port).
– 30.1 Nginx/Varnish -> proxy to custom IP:port, example for tomcat/ruby/nodejs or some other server

Nginx & Varnish & Apache (recommended)
The best option you could ever imagine giving you the full flexibility and the best performances.
– 10.1.1 Nginx/Apache + php-cgi (suPHP handler running PHP Selector & PHP Switcher, it can also change PHP version per folder).
– 10.2.1 Nginx/Apache + php-fpm (via PHP-FPM Selector, one php version per domain/subdomain).
– 10.3.1 Nginx/Apache + proxy (proxy to custom port, example for tomcat or to other IP and port).
– 10.1.2 Nginx/Varnish/Apache + php-cgi (suPHP handler running PHP Selector & PHP Switcher, it can also change PHP version per folder).
– 10.2.2 Nginx/Varnish/Apache + php-fpm (via PHP-FPM Selector, one php version per domain/subdomain).
– 10.3.2 Nginx/Varnish/Apache + proxy (proxy to custom port, example for tomcat or to other IP and port).
– 20.2 Nginx + php-fpm (via PHP-FPM Selector, one php version per domain/subdomain).
– 20.3 Nginx + proxy (proxy to custom port, example for tomcat or to other IP and port).
– 30.1 Nginx/Varnish -> proxy to custom IP:port, example for tomcat/ruby/nodejs or some other server.

All options explained
10.1 Apache + php-cgi (suPHP handler running PHP Selector & PHP Switcher, it can also change PHP version per folder)
This is our old the most flexible apache which supports any script and also has the advantage of php selector and php-switcher.
* php selector – gives you the flexibility to run a different php version per folder by using htaccess.
* php switcher – this is a default version of php installed during cwp first setup and its also default for all new accounts/domains/subdomains.

10.2 Apache + php-fpm (via PHP-FPM Selector, one php version per domain/subdomain)
This is our new feature which provides you with the maximum performances which php has to offer. It runs via fcgi handler with php-fpm selector.
Here you can run different php versions only per domain/subdomain.

10.3 Apache + proxy (proxy to custom port, example for tomcat or to other IP and port)
Apache proxy works like a proxy for other applications or other location, example you can proxy some domain/subdomain to other IP:PORT.
This can be useful if you need to run some other application on the custom port or if you need to proxy to your custom application on the other server.

10.1.1 Nginx/Apache + php-cgi (suPHP handler running PHP Selector & PHP Switcher, it can also change PHP version per folder)
This is our old the most flexible apache which supports any script and also has the advantage of php selector and php-switcher.
Nginx is here used as a proxy server so it will handle ssl and also will handle many static files to reduce the load on apache giving you the better performances.
* php selector – gives you the flexibility to run a different php version per folder by using htaccess.
* php switcher – this is a default version of php installed during cwp first setup and its also default for all new accounts/domains/subdomains.

10.2.1 Nginx/Apache + php-fpm (via PHP-FPM Selector, one php version per domain/subdomain)
This is our new feature which provides you with the maximum performances which php has to offer. It runs via fcgi handler with php-fpm selector.
Here you can run different php versions only per domain/subdomain via php-fpm selector.
Nginx is here used as a proxy server so it will handle ssl and also will handle many static files to reduce the load on apache giving you the better performances.

10.3.1 Nginx/Apache + proxy (proxy to custom port, example for tomcat or to other IP and port)
Apache proxy works like a proxy for other applications or other location, example you can proxy some domain/subdomain to other IP:PORT.
This can be useful if you need to run some other application on the custom port or if you need to proxy to your custom application on the other server.
You can also run nginx proxy directly to avoid apache but in some cases, you need to do it via apache.

10.1.2 Nginx/Varnish/Apache + php-cgi (suPHP handler running PHP Selector & PHP Switcher, it can also change PHP version per folder)
This is our old the most flexible apache which supports any script and also has the advantage of php selector and php-switcher.
Nginx is here used as a proxy server so it will handle ssl and also will handle many static files to reduce the load on apache giving you the better performances.
Varnish will make your php scripts look like a static site and provide incredible performance and dramatically reduce the load of php-cgi.
* php selector – gives you the flexibility to run a different php version per folder by using htaccess.
* php switcher – this is a default version of php installed during cwp first setup and its also default for all new accounts/domains/subdomains.

10.2.2 Nginx/Varnish/Apache + php-fpm (via PHP-FPM Selector, one php version per domain/subdomain)
This is our new feature which provides you with the maximum performances which php has to offer. It runs via fcgi handler with php-fpm selector.
Here you can run different php versions only per domain/subdomain via php-fpm selector.
Nginx is here used as a proxy server so it will handle ssl and also will handle many static files to reduce the load on apache giving you the better performances.
Varnish will make your php scripts look like a static site and provide incredible performance and reduce the load of php-fpm.

10.3.2 Nginx/Varnish/Apache + proxy (proxy to custom port, example for tomcat or to other IP and port)
Nginx is here used as a proxy server so it will handle ssl and also will handle many static files to reduce the load on apache giving you the better performances.
Varnish will make your scripts look like a static site and provide incredible performance and reduce the load on your script.
Apache proxy works like a proxy for other applications or other location, example you can proxy some domain/subdomain to other IP:PORT.

20.2 Nginx + php-fpm (via PHP-FPM Selector, one php version per domain/subdomain)
This is our new feature which provides you with the maximum performances which php has to offer. It runs via fcgi handler with php-fpm selector.
Please note that when nginx is handling all then you need to make custom templates for each type of cms depending on the rewrite/redirect rules you need.

20.3 Nginx + proxy (proxy to custom port, example for tomcat or to other IP and port)
Nginx is here used as a proxy server so it will handle ssl and also will handle many static files to reduce the number of request to your application.

30.1 Nginx/Varnish -> proxy to custom IP:port, example for tomcat/ruby/nodejs or some other server
Nginx is here used as a proxy server so it will handle ssl and also will handle many static files to reduce the number of request to your application.
Varnish will make your scripts look like static site and provide incredible performance and reduce the load on your script.

Force PHP-FPM
This option would disable php-cgi so you wouldn’t be able to use it anymore.
You will be only able to use PHP-FPM selector, PHP Switcher and PHP Selector will not be in use anymore

Activation of varnish
By default Varnish is always disabled, you can only activate it in CWP.admin left menu go to WebServer Settings -> WebServers Domain Conf when you selecting varnish in the custom config for that domain.

Why is Varnish by default disabled?
It’s disabled because it cache’s almost anything and for example when you modify your site from admin it would still show the old content until the cache expires.

When do I need to activate varnish?
We recommend activation of varnish only when you need to reduce the load because of high number of php processes.

Install PHP-FPM (Not required)
– go to left menu: PHP Settings -> PHP-FPM Selector and install php-fpm version you want to use.
** wait for the installation to complete, note that each PHP version you select can take up to ~15minutes to build, you can also install additional versions later.

Select WebServers you want to use (Required, you can’t skip this)
here you can rebuild your webservers system and choose which webservers you want to run.
– go to left menu: WebServer Settings -> Select WebServers and select the version that you want to use (after php-fpm install).
* We recommend the last option (Nginx & Varnish & Apache).

* You can also select here if you want to force all users to use php-fpm by default as currently, a default is still php-cgi with suphp like before.
* Please note that if you don’t use “force php-fpm” then you can use all options from WebServers Domain Conf and enable php-fpm for domains you want.

Select Configuration for WebServers you want to use (Not required)
here you can select configuration and templates for vhosts of the webservers you have installed with Select WebServers.
– go to left menu: WebServers Configuration -> WebServers Main Conf to manage webservers configuration (this works only after new webservers are installed).

* New webservers installation will also rebuild all nginx/varnish/apache configuration.
* Note that now we have an independent php-cgi version with suphp from php-fpm so you can have them all configured differently.

WebServers Domain Conf (Not required)
– here you can make configuration per domain based on the Select WebServers installation, this means that each domain can run different webservers and vhost templates, example: domain1.com can run php-cgi/suphp while domain2.com can run php-fpm.