Docs / App Marketplace / How to Deploy a Full LEMP Stack from the Marketplace

How to Deploy a Full LEMP Stack from the Marketplace

By Admin · Mar 2, 2026 · Updated Apr 23, 2026 · 28 views · 3 min read

How to Deploy a Full LEMP Stack from the Marketplace

The LEMP stack — Linux, Engine-X (Nginx), MySQL/MariaDB, and PHP — is one of the most popular server configurations for hosting modern web applications. The Kazepute Marketplace offers a pre-configured LEMP stack that you can deploy to a new Breeze in minutes, saving you hours of manual installation and configuration. This guide walks you through the deployment process and essential post-installation steps.

What Is Included in the LEMP Marketplace App

The Marketplace LEMP stack comes pre-installed with:

  • Nginx: High-performance web server configured with optimized defaults
  • MariaDB: Drop-in MySQL replacement with improved performance and features
  • PHP-FPM: FastCGI Process Manager for efficient PHP execution
  • Composer: PHP dependency manager pre-installed globally
  • Certbot: Let's Encrypt client for free SSL certificates
  • UFW: Firewall pre-configured with rules for HTTP, HTTPS, and SSH

Deploying from the Marketplace

Follow these steps to deploy:

  • Log in to your Kazepute portal at kazepute.com/portal
  • Navigate to the Marketplace section
  • Find the LEMP Stack app and click Deploy
  • Select your desired Breeze plan (2 GB RAM minimum recommended)
  • Choose your preferred datacenter region
  • Click Create Breeze and wait for provisioning to complete

First Login and Credentials

After your Breeze is provisioned, SSH in using the credentials from your portal dashboard:

ssh root@your-breeze-ip

A welcome message displays the locations of important configuration files and any generated credentials (such as the MariaDB root password). Save these credentials securely.

Verifying the Stack

Confirm all components are running:

# Check Nginx
sudo systemctl status nginx
nginx -v

# Check MariaDB
sudo systemctl status mariadb
mariadb --version

# Check PHP-FPM
sudo systemctl status php*-fpm
php -v

# Test PHP processing
echo "<?php phpinfo();" | sudo tee /var/www/html/info.php
# Visit http://your-breeze-ip/info.php then delete the file
sudo rm /var/www/html/info.php

Configuring Your First Website

Create an Nginx server block for your domain:

sudo nano /etc/nginx/sites-available/example.com

server {
    listen 80;
    server_name example.com www.example.com;
    root /var/www/example.com/public;
    index index.php index.html;

    location / {
        try_files $uri $uri/ /index.php?$query_string;
    }

    location ~ \.php$ {
        fastcgi_pass unix:/run/php/php-fpm.sock;
        fastcgi_param SCRIPT_FILENAME $realpath_root$fastcgi_script_name;
        include fastcgi_params;
    }

    location ~ /\.ht {
        deny all;
    }
}

# Enable the site
sudo ln -s /etc/nginx/sites-available/example.com /etc/nginx/sites-enabled/
sudo nginx -t && sudo systemctl reload nginx

Securing with SSL

sudo certbot --nginx -d example.com -d www.example.com

Certbot automatically configures Nginx for HTTPS and sets up auto-renewal via a systemd timer.

Creating a Database

sudo mariadb

CREATE DATABASE myapp_db;
CREATE USER 'myapp_user'@'localhost' IDENTIFIED BY 'strong-password-here';
GRANT ALL PRIVILEGES ON myapp_db.* TO 'myapp_user'@'localhost';
FLUSH PRIVILEGES;
EXIT;

Performance Tuning

  • Adjust worker_processes in Nginx to match your vCPU count
  • Set pm.max_children in PHP-FPM based on available RAM (each PHP worker uses ~30-50 MB)
  • Configure innodb_buffer_pool_size in MariaDB to 50-70% of available RAM
  • Enable OPcache for PHP to cache compiled bytecode

Was this article helpful?