WordPress Hosting in Elastic Standalone Container

Jelastic
9 min readDec 9, 2019

Following WordPress deployment blog series, today we’d like to cover a possibility to get a lightweight WordPress installation inside a standalone container. The packaged structure makes this solution more cost effective and suitable for running small and medium size projects. And the kit of built-in tools that can be enabled with a mouse click, ensures considerably high level of security and performance.

WordPress Standalone package has an efficient single node topology based on Jelastic-certified LLSMP (Linux + LiteSpeed + MariaDB + PHP) or LEMP (Linux + NGINX + MariaDB + PHP) template with a set of built-in advanced features. Let’s walk through all the available components.

Premium CDN

CDN Add-On is an optional feature that may be integrated into the WordPress application. It utilizes a highly interconnected global network with massive bandwidth capacity, advanced static assets caching, and high-speed modern HTTP/3 support, which ensures lightning-fast content loading for WordPress sites. Jelastic customers get premium traffic for the same price across all continents and countries with no surprising bills based on geographic locations.

Let’s Encrypt SSL

Let’s Encrypt SSL Add-On does the routine but yet important system administration tasks for issuing trusted SSL certificates, integrating them into the application server, and enabling fully automated certificate renewal to stay secure over time.

LiteSpeed Web Server

LiteSpeed Web Server (LSWS) is a high-performance and low memory consuming web server. It includes ESI caching, browser, and object cache along with the support of HTTP/3, CDN, WAF, Geo-DNS, reCAPTCHA protection, cutting-edge anti-DDoS protection.

In Jelastic PaaS, LiteSpeed Web Server is provided to clients with a license of Site Owner Plus (5-Domains and 1-Worker) with PHP Process Mode: ProcessGroup Mode. Accordingly, the LSWS creates only one worker process, but multiple child processes may be forked from it. The maximum number is equal to the CPUs count for the container. Herewith, the CPU number may vary based on the cloudlets count and specifics of the particular hosting platform.

Web Application Firewall

The Web Application Firewall (WAF) is a built-in feature that is enabled by default in the LiteSpeed Web Server of the current application package. WAF supports ModSecurity rules and comes by default with Comodo ruleset configured. LiteSpeed WAF ​​manages rules for dynamic requests, which allows significantly optimized computing power.

MariaDB Database

The popular MariaDB database server is employed as a storage for web site content. The default values of configuration parameters were changed to ensure highest possible performance. You may see these values in the sqldb config file.

Redis

Redis is a non-relational high-performance DBMS. Redis stores all the data in the RAM as key-value pairs. It is used as an object caching solution. This approach provides performance that is much higher than the performance of relational DBMSs.

This simplified architecture does not presuppose HA and failover capabilities, as well as horizontal scaling in case of high load as it can be done with a WordPress Enterprise Cluster. But it perfectly suits the websites with moderate load and can handle slight spikes using pre-configured automatic vertical scaling while ensuring sustainable consumption and minimal hosting bill.

WordPress Standalone Container Installation

Now, let’s walk through the installation steps to get high density packaged solution in one container.

1. If you want to try out WordPress Standalone by Jelastic but don’t have an account yet, click DEPLOY TO JELASTIC. Follow the simple steps within the opened widget (e.g. specify your email and choose preferred Public Cloud provider) for the new account to be set up for you and WordPress installation to be started.

The registered users can start the installation of WordPress Standalone Kit directly from the dashboard via Jelastic Marketplace or by importing the appropriate manifest file from GitHub.

2. In the opened installation frame, choose the required Advanced Features.

  • LiteSpeed High-Performance Web Server installs solution based on LiteSpeed Web Server for the highest possible speed of website content delivery to the clients via modern HTTP/3 protocol. In case you untick this option, the LEMP stack will be used instead of LLSMP (i.e. NGINX instead of LiteSpeed Web Server).
  • Web Application Firewall (WAF) enables/disables the use of free security rules from Comodo (works with the LiteSpeed Web Server only).

Note: It is not recommended to use LiteSpeed Web Admin Console to configure WAF since it will cause functionality failure during horizontal scaling. If you need to adjust Web Application Firewall after the installation, the appropriate WAF=TRUE/FALSE environment variable should be used.

Don’t forget to restart LLSMP after changing the variable.

  • Lightning-Fast Premium CDN with 145+ PoPs integrates Verizon Edgecast CDN into WordPress application.
  • Let’s Encrypt SSL with Auto-Renewal add-on allows to issue and use a trusted, free certificate for a custom domain. The configured functionality employs periodical renewal to prevent certificate expiration. The appropriate notifications are sent by email. In case you untick this option, there will be configured built-in SSL that works only for your platform domain.
  • WordPress Multisite Network is a feature that allows multiple virtual sites sharing a single WordPress installation. It means that by installing WordPress only once you can run as many sites as you want. The great thing regarding WordPress Multisite is the installation itself is pretty close to the standard one — it has the same folder structure, the same main files, and the same code base.

Note: Enabling some features can cause additional charges, see the pricing section below for additional information.

3. The final requested details are Environment name, Display Name, and Region (if available). When ready, proceed with the Install button at the bottom of the frame and wait a few minutes for the platform to automatically setup WordPress for you.

All the required connection details are provided within the installation success window and the appropriate email notification:

  • your WordPress site URL and admin panel
  • LiteSpeed WebAdmin Console (on the 4848 port)
  • phpMyAdmin administration tool for MariaDB (on the 8443 port)

WordPress Standalone Scaling

Resource provisioning for this solution is implemented through vertical scaling. By default, the standalone container capacity is 2 GiB of RAM and 6.4 GHz of CPU power (i.e. up to 16 cloudlets). The distribution of RAM among the services inside the stack is the following:

  • 50% for the application server (LiteSpeed Web Server or NGINX)
  • 10% for Redis cache server
  • 40% for MariaDB database server

If required, the provided default limit can be easily adjusted via the topology wizard.

Be aware that your node will be restarted to apply a new scaling limit.

Software Updates for WordPress, LLSMP and LEMP

As time passes, you may need to renew software, both application (WordPress) and stack (LLSMP or LEMP) may require update.

1. For the WordPress application itself, go to its admin panel. Here, switch to the Dashboard > Updates tab. If any updates are available, you’ll see a page similar to the following one:

Click the Update Now button and follow tooltips on the screen to perform the required changes.

2. For the software stack upgrade, the process is as simple as calling automatic container redeploy to the required version within Jelastic dashboard (note that this action leads to a short downtime).

Your application data is protected during the process, and only container system files are updated, so no additional operations are required.

WordPress Pricing for Standalone Package

WordPress Standalone is a very cost-efficient solution with just a single container to maintain all the processes required for your website hosting. Below, we’ll describe pricing peculiarities of the WordPress Standalone package.

Like any other container at Jelastic PaaS, it benefits on the fair usage-based pricing offered by the platform. The main point is that you are hourly charged only for actually consumed resources (RAM, CPU, disk space) and not for the limits stated for the container.

In order to get the most of the solution, we recommend enabling additional paid options to greatly boost performance and security:

  • LiteSpeed Web Server (as a part of the LLSMP stack) is additionally charged when the server requires over 2 GB RAM (16 cloudlets):
  • CDN integration is free, but the usage is charged according to the Verizon Edgecast official pricing. Herewith, Jelastic customers get premium traffic for the same minimum price across all continents and countries without additional charges based on geographic location.

Note: LiteSpeed and CDN features are available across a limited number of Jelastic service providers. The pricing on each particular platform may vary from the values provided above.

  • Public IP is automatically attached to your container if the Let’s Encrypt option is enabled during the package installation (as it is obligatorily required for issuing SSL). The cost of public IP addresses can be viewed directly in the dashboard via the Quotas & Pricing > Pricing > Options frame.

Special Environment Variables

There are several environment variables that can be used to manage your elastic WordPress standalone container:

  • ADMINPANEL_ENABLED — allows (true, by default) or forbids (false) access to phpMyAdmin console for the integrated MariaDB database server
  • REDIS_ENABLED — enables (true, by default) or disables (false) object caching with Redis
  • WAF — enables (true) or disables (false) Web Application Firewall with the Comodo default ruleset. It is applicable for the LiteSpeed Web Server only, and its default value depends on the appropriate option specified during the package installation
  • CP_MEM_LIMIT — defines the portion of RAM, which should be reserved for the application server (NGINX/LiteSpeed), 50% of container total RAM by default
  • CACHE_MEM_LIMIT — defines the portion of RAM, which should be reserved for the Redis cache server, 10% of container total RAM by default
  • DB_MEM_LIMIT — defines the portion of RAM, which should be reserved for the MariaDB database server, 40% of container total RAM by default

Tip: These RAM limits can be specified in megabytes (m|mb|M|MB), gigabytes (g|gb|G|GB), or percentages (%). If units are omitted, the values are considered as percentages.

The container restart is required to apply any of the performed changes.

Advanced features like LiteSpeed Web Server, Premium CDN and Let’s Encrypt SSL are available for billing account. Trial account can test basic functionality and afterward easily upgrade to a billing mode with full rights. Register at one of Jelastic cloud service providers and try out cost-efficient WordPress hosting based on LLSMP/LEMP stack templates inside a lightweight scalable container.

--

--