Sometimes it happens that the disk space allocated to our websites on our server turns out to be too small. If our operating system is installed on LVM (Logical Volume Manager), we can relatively easily expand the disk size to what we need. In this article, I will show you how to do it.
Our working environment:
Virtual machine running on XCP-ng
Ubuntu 20.04 Server Edition operating system
OpenLiteSpeed web server
CyberPanel management panel
Disk space based on LVM (Logical Volume Manager)
The 64GB allocated for websites on our server some time ago proved to be too little after a while. After exceeding 80% disk usage, the server slowed down and opening pages became uncomfortable.
What is LVM (Logical Volume Manager)?
LVM is an extremely flexible tool that allows you to conveniently manage disk space on your servers. LVM can be located on different hard disks and different partitions of different capacities, and we can change the size of the disk space on the fly without even having to restart the computer or virtual machine.
Checking hard disk usage
To check the usage of our hard disk, use the df command with the -h parameter, which shows the disk size in a human-friendly format.
In the case of our system, the LVM disk size (/dev/mapper/ubuntu-vg-ubuntu-lv) is 62GB, and 56GB is occupied, which gives 95% disk space usage. This is definitely too little free space for the server to work efficiently. It’s time to allocate more space to the server.
Increasing disk size in XCP-ng
For our virtual machine on which the Ubuntu system with a web server is installed, we have only allocated 64GB, so the first step will be to increase the virtual hard disk for our virtual machine. To perform this operation, we will have to turn off our virtual machine for a while. To do this, we run the XCP-ng center application. Then we select the virtual machine we are interested in, and turn it off. We go to the Storage tab, click on the storage we want to enlarge and click Properties. We select Size and Location and increase the size of the virtual hard disk. Then we can restart our virtual machine.
Checking free space in Volume Group
To display information about our volume groups, type vgs.
Our volume group is ubuntu-vg with a new size of 126.50GB and it has 63.25GB of free space. To display more information about the volume group, use the vgdisplay command.
Here we can see that the space allocated to our volume group is 63.25GB and we have another 63.25GB available, which we can add to our volume group.
Displaying a list of logical volumes
To display our logical volumes, type lvs.
In our case, the logical volume ubuntu-lv belongs to the ubuntu-vg volume group.
NOTE: Remember to replace our volume names with your own when typing commands.
Increasing the size of our logical volume
To assign more disk space to our volume group, we will use the lvextend command. Remember to replace ubuntu-vg and ubuntu-lv with the volumes used in your system.
The -L parameter allows us to specify the size by which we want to increase our logical volume, in our case we are increasing it by 63.25GB.
Note: Remember that we do not specify units TB, GB, MB etc., but P for Petabytes, T for Terabytes, G for Gigabytes, M for Megabytes etc.
After re-entering the vgdisplay command, we see in the Alloc PE/Size field that the additional disk space has been correctly allocated.
Enlarging the file system
Our new disk space is not yet visible to the system. We must first enlarge the file system with the resize2fs command.
By giving the resize2fs command, we must indicate where our logical volume is mounted, in our case it is /dev/mapper/ubuntu--vg-ubuntu--lv.
After this operation, our new disk space is already visible to the operating system and CyberPanel. 47% disk usage is a decent result and should be enough for a while.
Summary
As you can see, LVM has many advantages. If you had an operating system installed on normal disks and partitions, you probably would not be able to do without formatting the disks and installing the system from scratch. Whereas LVM allows you to add a new disk to your computer, create a partition on it and add it to an already existing group of volumes and logical volumes. Easy, fast and enjoyable.
If you have any questions about increasing the capacity of LVM volumes, do not hesitate to ask them in the comments.
When looking for hosting for your website, you need to consider not only the disk space, the type of hard drives (SSD, HDD, NVMe), the monthly transfer limit, or the number of databases, but also which web server will be handling your site. There are many different web servers on the market, but the three most popular—Apache, Nginx, and LiteSpeed—capture over 42% of the market share (August 2025). I am not including the Cloudflare server here, as it operates on a slightly different principle than these three. All of them are very stable, well-developed, and feature-rich; however, there are significant differences between them that will affect your website’s performance and ease of use.
What is a web server?
A web server is software that handles requests sent by visitors to a site and sends back a complete page for display in their web browsers. Every time you type a website address into your browser, you send a request to an HTTP/HTTPS server. This server either displays an HTML file in the case of static pages or dynamically generates a PHP page stored in a database, as is the case with sites built on WordPress, Joomla, or Drupal.
We will compare the three most popular web servers so you can choose the best solution for your website. For some time now, the most popular web server has been Nginx, which has surpassed Apache. In third place, and climbing rapidly, is LiteSpeed.
Web Servers: Top 10 Market Share – August 2025
Server
Market Share
Nginx
24%
Cloudflare
15%
Apache
14%
OpenResty
6%
Google Servers
5%
LiteSpeed
4%
Microsoft
1%
Sun
0%
NCSA
0%
Other
31%
Source: netcraft.com*Sites may use several web servers simultaneously, which is why the percentages do not add up to 100%.
Apache
Let’s start with Apache, as it is the oldest of the web servers presented here. This open-source server, created in 1995, was the undisputed leader in popularity for a long time. It practically dominated on Linux machines, and even on Windows computers, it was often chosen over the commercial IIS from Microsoft.
Nginx
Nginx was created to address the existing shortcomings of the Apache server and initially functioned only as a reverse proxy server and load balancer. It was later transformed into a fully-fledged web server. It is compatible with Apache, so existing sites can be easily transferred from Apache to Nginx.
LiteSpeed
LiteSpeed is the youngest web server of the three. Like Nginx, it is also fully compatible with Apache and supports .htaccess files, mod_rewrite, and mod_security.
Apache Apache has a process-based architecture. Each HTTP request is handled by a separate process. All these processes are managed by a single main parent process. This is the main drawback of Apache. The problem with a process-based architecture is that it struggles significantly with RAM consumption. While this isn’t a major issue on low-traffic sites, it becomes noticeable on popular websites. Under heavy load, performance and page loading speed drop drastically.
Nginx The Nginx web server works completely differently. Its architecture is event-driven. There is one main process and several worker processes that manage all the traffic on the site. This architecture is much more efficient. With Nginx, there is no such drop in performance, even for heavily loaded websites.
LiteSpeed Similar to Nginx, LiteSpeed’s architecture is event-driven. Therefore, just as with Nginx, the drop in performance with an increasing number of visitors is much smaller than with Apache.
Speed
For low-traffic websites, the speed of all three web servers is at a similar level. But the more active users a site has, the more Apache starts to fall behind the other two. Admittedly, after installing W3 Total Cache on Apache, things improve slightly, but with 100 concurrent visitors, Nginx and LiteSpeed still outperform Apache by a significant margin.
Nginx with FastCGI Cache is much faster than Apache with W3 Total Cache, but it is LiteSpeed with the LiteSpeed Cache for WordPress plugin installed that shows the real advantage. For a WordPress-based site, the Apache server was able to handle 826.5 requests per second, Nginx handled 6,025 requests per second, while LiteSpeed handled a staggering 69,618 requests per second.
Web Server Speed Comparison
Server
Requests/sec
MB/sec
Errors
LiteSpeed
69,618.5
270.38
0
Nginx
6,025.3
24.5
0
Apache
826.5
3.08
0
Test Environment
Web Servers Tested:
LiteSpeed Web Server v5.4.1
Nginx v1.16.1
Apache v2.4.41
WordPress:
WordPress version: 5.2.2
LiteSpeed cache: LiteSpeed Cache for WordPress
Nginx cache: FastCGI Cache
Apache cache: W3 Total Cache
Client & Server Machine:
RAM: 1GB
Processors: 1
CPU Threads: 1
Processor Model: Virtual CPU 6db7dc0e7704
Disk: NVMe SSD
Network:
Bandwidth: 9.02 Gbits/sec
Latency: 0.302 ms
Cloud VM:
Vultr High Frequency Compute 1GB VM
Caching
The cache is used to temporarily store frequently used data. A web server’s cache stores frequently visited web pages and other resources. This reduces the server’s load, increases the site’s overall performance/throughput, and shortens page load times.
Apache
Apache has various caching modules, such as mod_cache, mod_cache_disk, mod_file_cache, and htcacheclean. You can implement them on your Apache server to improve the performance of frequently visited pages.
Nginx
You can enable caching on an Nginx server using cPanel or Plesk if you have them installed, or directly in the Nginx configuration files.
LiteSpeed
You can very easily enable the cache in LiteSpeed using plugins for:
WordPress
Magento
Joomla
PrestaShop
OpenCart
Drupal
XenForo
Laravel
Shopware
CS-Cart
MediaWiki
The cache also offers several other unique features, such as the Cache Crawler. The Cache Crawler scans your website when it is not under load, identifies the most frequently visited pages, and moves them to the cache to speed up your site even further. LiteSpeed cache also improves the performance of online shops by caching customers’ shopping baskets.
Supported Operating Systems
Apache
As the oldest of the three web servers, Apache supports the most operating systems. It supports all Unix/Linux systems: CentOS, RedHat, Fedora, Ubuntu, OpenSUSE, etc. It is the only one fully supported by Microsoft Windows systems.
Nginx
You can also install Nginx on all Unix/Linux systems; however, it does not run correctly on Windows systems.
LiteSpeed
You can install LiteSpeed on CentOS 7+, Ubuntu 14.04+, Debian 8+, FreeBSD 9+, Fedora 31+, and Linux Kernel 3.0+.
*As of January 2023, you can install LiteSpeed on Ubuntu 22.04; however, CyberPanel does not work on this version of the system. If you want to use CyberPanel with its convenient GUI, you should stay on Ubuntu 20.04.
Ease of Configuration
If you are just starting your journey with web servers, ease of use may be important to you. It is much more pleasant to manage a web server from a browser with a convenient graphical interface than by using the CLI or editing configuration files.
Apache
Apache is most commonly configured by editing the .htaccess file. This is where you set up redirects, password protection, custom error messages, indexing, and much more. However, editing this file requires some knowledge of web server configuration, without which you can easily make a mistake and completely disable your site. Therefore, always make a backup before editing this file.
Nginx
The Nginx server is configured using .conf configuration files. By default, Nginx does not have a control panel with a graphical interface, but you can install one of several available Control Panels. Some of them are free, like Hestia Control Panel, while others require payment.
LiteSpeed
The free OpenLiteSpeed installs by default with a Dashboard featuring a convenient, graphical user interface. Additionally, you can install one of several control panels, for example, the excellent and free CyberPanel, from which you can manage the entire server. You can install a new website, install WordPress with LiteSpeed Cache, install SSL certificates with a single click (both free via Let’s Encrypt and your own paid certificates), configure DNS, FTP, SSH, create backups, change the PHP version for each site separately, install a mail server, and much more.
Security
All three described web servers take security very seriously.
Apache additionally has a vigilant and the largest community of developers, which responds instantly to any detected security vulnerabilities. It also offers various configuration parameters to protect the site from DDoS attacks and privilege escalation, though implementing them requires a bit of IT knowledge.
With Nginx, in addition to the community, security is handled by F5, the company that acquired the rights to Nginx. It has extensive documentation on security and potential threats.
LiteSpeed is also very secure and is continuously and efficiently developed. Any detected security vulnerabilities are patched promptly.
Plugins
Plugins allow you to extend the capabilities of a web server.
Apache probably has the most extensive list of plugins, including those for managing SQL connections, data compression, or executing CGI scripts.
There are also many plugins for Nginx, which are written by the developer community. Thanks to them, you can, for example, manage HTTPS SSL authentication or dynamically block IP addresses.
In terms of the number of plugins, LiteSpeed may seem the weakest at first glance, but this is only apparent, as many things that you have to install separately in Apache or Nginx come as standard in LiteSpeed.
CMS Support
All three servers support Content Management Systems (CMS) without any issues, including:
Joomla
Drupal
Magento
OpenCart
PrestaShop
Shopware
MediaWiki
and others
Summary
Each web server has its advantages and disadvantages. However, LiteSpeed seems to be the most future-proof at present, although Nginx has not yet had its final say, especially as it is backed by the large American corporation, F5. Apache, on the other hand, has the largest community and is the best documented. However, we are of the opinion that once you try the convenient graphical user interface of CyberPanel and the LiteSpeed dashboard, you will not want to go back to Apache.
There are certain tasks on a computer that we need to perform regularly – for example, performing backups. In Linux, the Cron command is used for such repetitive tasks; it is invaluable for executing scheduled jobs. In this article, we will show you how to configure crontab to run a cron job every hour.
What is cron?
Cron is a tool, an application used for scheduling tasks, and running applications and scripts at a specific time in Unix-like operating systems. It allows you to schedule tasks (cyclically running applications or shell scripts) that will automatically run at a specified time and date. These tasks are called cron jobs.
In Linux and Unix systems, cron is commonly used for maintenance or administrative tasks, such as running backups (with the option to later send them to an FTP server, for example) or sending automated emails. Cron can also be used, for instance, to check for system updates and many other things.
Cron uses a configuration file called crontab. A crontab is a plain text file that can be edited with any text editor. The system administrator can configure a global crontab file with root permissions, and additionally, each user can have their own settings, limited by their user permissions.
A cron job is usually executed in the background, and if there is any output, it can be sent to the user via email or saved to a file. Cron is a powerful tool that allows you to automate virtually any task, but it can be difficult for novice users to operate if they are not familiar with the required command syntax.
What can we use cron for?
With cron, we can manage virtually any function of a computer or server and run cyclical tasks at a specific time and date. We can use it for example to:
Automate repetitive tasks. A cron job can be used to automate tasks at regular intervals, such as running backups or sending cyclical emails, for example, with reminders.
Run system tasks on a schedule. A cron job can check for available updates for the operating system or applications, or for example, it can regularly clean the computer of temporary files and unnecessary system logs.
Automatically perform system updates, update security, and install new software. This can help to better secure the system and ensure that we always have the latest versions of applications and libraries installed on our computer or server.
Improve performance. Thanks to cron, we can configure the execution of tasks that heavily load the computer to run during hours when the computer is least used, for example, at night.
Overall, cron can significantly streamline the performance of cyclical tasks through their automation.
Create a cron job in the Linux terminal
The crontab command is used to create cron jobs. To create a new cron job:
Open a terminal window.
Type the command crontab -e to open the cron configuration file.
Add a new entry to the crontab file, remembering to maintain the correct format, otherwise the task will not run:minute hour day-of-month month day-of-week command-to-executeAn asterisk instead of minutes, hours, or months means that this task will run every hour, minute, or every month. For example, if we want a command or script to run on the hour (i.e., at minute 0) every day of every month, we must type:0 * * * * command-to-execute
Save the crontab file and close it.
Use the command crontab -l to display the list of saved cron jobs to be executed.
NOTE: The syntax for cron job commands may vary depending on the version of the Linux system. We are basing this on the Ubuntu system. To learn more about the cron application, type man cron in the terminal.
How to create a cron job in CyberPanel
If your web server is based on LiteSpeed, you should install the CyberPanel overlay. Creating cron jobs in CyberPanel is much simpler and more pleasant than in a crontab file.
Log in to your CyberPanel Dashboard.
On the left side, click on Websites, then List Websites, select your website and click Manage.
Scroll down and click on Cron Jobs.
To add a new cron job, press ADD CRON. To see a list of existing jobs, click FETCH CURRENT CRON JOBS.
To have a given task run weekly, select Every week from the list. In the example below, cron will run a previously written backup script every week, on Wednesday at 4:16 AM. In the Day of week window, we enter numbers from 0 to 7. 0 or 7 means Sunday, 1 Monday, 2 Tuesday, etc.
We can also enter the days of the week by name in English: mon, tue, wed, thu, fri, sat, or sun.
Press Add Cron to save the created task.
Isn’t configuring cron in CyberPanel more pleasant?