What is LEMP?
LEMP is an acronym for the four core components:- Linux: The operating system (Ubuntu 20.04, 22.04, or 24.04)
- Engine-x (Nginx): The web server
- MySQL/MariaDB: The database management system
- PHP: The server-side scripting language
The “E” in LEMP comes from the pronunciation of Nginx as “Engine-x”.
Stack components
Nginx web server
Webinoly installs and optimizes Nginx as the primary web server with:- HTTP/2 and HTTP/3 support: Modern protocol support for improved performance
- TLS 1.2 and 1.3: Secure SSL/TLS connections with modern ciphers
- kTLS (Kernel TLS): Hardware-accelerated encryption on Ubuntu 22.04+
- Rate limiting: Protection against DDoS attacks and brute force attempts
- Gzip compression: Automatic compression of text-based content
- Stable
- Mainline
The stable branch is recommended for production environments and provides long-term stability.
PHP-FPM
PHP is installed with FastCGI Process Manager (FPM) for optimal performance: Supported versions: 7.4, 8.0, 8.1, 8.2, 8.3, 8.4, 8.5 Default version: 8.4 (as of Webinoly 1.20.0) Pre-installed extensions:- Core: CLI, FPM, Common, cURL, GD, Readline, Mbstring, Bcmath, XML, Intl
- Database: MySQL/MySQLi
- Caching: OPcache (bundled in PHP 8.5+), Msgpack, Igbinary
- File handling: Zip, Imap
- Other: Soap, Imagick
Webinoly automatically optimizes PHP settings based on your server’s available resources.
MySQL/MariaDB
Choose between MySQL or MariaDB as your database engine:- MariaDB
- MySQL
Default choice - Open-source, MySQL-compatible database serverSupported versions: 10.11, 11.4, 11.8 (LTS releases)Default version: 11.8
Installation profiles
Webinoly offers multiple installation profiles to suit different needs:Full stack
Complete LEMP stack with all features:- Nginx (web server)
- PHP-FPM (latest stable version)
- MySQL/MariaDB (database server)
- Let’s Encrypt (SSL certificates)
- Backup tools (Duplicity + Duply)
- Redis (object caching)
- Memcached (alternative caching)
- phpMyAdmin (database management)
- Postfix (email delivery)
Basic stack
Core LEMP components plus SSL and backups:- Nginx
- PHP-FPM
- MySQL/MariaDB
- Let’s Encrypt
- Backup tools
- Postfix
Light stack
Minimal LEMP installation:- Nginx
- PHP-FPM
- MySQL/MariaDB
Individual components
Install components separately:Optimizations
Webinoly automatically optimizes the LEMP stack based on your server resources:Resource-based tuning
- Worker processes: Set to number of CPU cores (
worker_processes auto) - Worker connections: Up to 20,000 concurrent connections per worker
- PHP-FPM pool: Calculated based on available RAM
- File descriptors: Optimized for high traffic (
worker_rlimit_nofile) - FastCGI cache: 90% of
/runfolder size allocated for caching
Security hardening
- Server tokens disabled (version information hidden)
- Unnecessary PHP functions disabled by default
- Session security configured (HTTPOnly, Secure, SameSite)
- File upload restrictions enforced
- DH parameters generated (2048-bit)
Performance tuning
- OPcache enabled and optimized
- Open file cache configured
- TCP optimizations (tcp_nopush, tcp_nodelay)
- Sendfile enabled for efficient file serving
- Connection timeouts optimized
Configuration file
All LEMP stack settings can be customized in/opt/webinoly/webinoly.conf:
See the Configuration file documentation for all available settings.
Verification
Check the status of your LEMP stack:Admin tools
Webinoly provides a special admin tools site accessible on port 22222:- Nginx status: Server status and metrics
- PHP info: PHP configuration and loaded extensions
- PHP status: PHP-FPM pool status and statistics
- Redis/Memcached: Object cache status (if installed)