WinNMP - Nginx MariaDB MongoDB Redis Php 8 development stack for Windows

A lightweight, fast and stable server stack for developing php mysql applications on windows, based on the excellent webserver Nginx. A lighter alternative to XAMPP and WAMP, with Composer, Adminer, LetsEncrypt certificates, WinSCP, wp-cli, multiple PHP versions, projects and virtual servers.

Unlike other development stacks, WinNMP doesn't require any aditional software, it includes all runtime libraries. It works out-of-the-box and it is safe to install it over a previous version, or in a folder with spaces or special characters. You can even move it after instalation and it will still work. And most importantly, it dosen't waste your time!

Current Package contains:

  • Nginx 1.21.3 web server
  • MariaDB 10.4.21 database server, mysql 5.5.5 replacement (32/64bit)
  • MongoDB 4.2.17 document-based database (64bit)
  • Redis 5.0 Cache/NoSql, memcached alternative (64bit)
  • Php 5.6.40 & PHP 7.2.34 & PHP 7.3.31 & PHP 7.4.24 & PHP 8.0.11 scripting language (32/64bit)
  • XDebug, GeoIP, Gender, Mongodb PHP Extensions
  • WinSCP SFTP client
  • HTTPS using free LetsEncrypt certificates
  • Composer dependency manager for php
  • WP-CLI command-line interface for WordPress
  • Adminer web based database manager
  • Reg.php regular expressions tester
  • WinNMP Manager (32/64bit), formerly known as WTServer


  • Easy to upgrade! Backups, configuration files, database data, included libraries and projects are persistent during upgrades (not overwritten)
  • A single installer for both x86 and x64 systems, with 32bit and 64bit versions of MariaDB, PHP and WinNMP Manager
  • Lightning-fast web server. Optimized for best performance
  • Tools: mysql client, php console, composer, acmePhp, hostsEditor, putty, mailToDisk
  • PORTABLE: you can move it to a different location, configuration files are updated automatically
  • For easy access, all configuration files are stored in one place: WinNMP\conf and all log files are stored in one folder: WinNMP\log
  • Multiple PHP Versions and version switcher. Dynamic number of php-cgi processes
  • The server manager runs minimized in the system tray and monitors, logs and restarts crashed servers, just like php-fpm on Linux
  • Project setup, Local Virtual Servers for projects, Upload, Sync and Browse with WinSCP
  • Optional database daily backups can be enabled with --backup. Up to 7 backup files will be created per database per weekday

Installing & Upgrading:

  • Download and execute the latest installer. The installer produces a portable folder.
  • The same installer can be re-run later to download and update your stack with the latest MariaDB, Mongo or PHP version.
  • Any previous projects, settings, databases and PHP extensions will NOT be lost or deleted during upgrades/updates.
  • It is safe to choose any destination folder as long as it is publicly accessible, if you don't like C:\WinNMP

Getting Started:

  • Start WinNMP
  • Look in the taskbar for the WinNMP icon:
  • Press Options and check Start WinNMP with Windows
  • Type in your browser http://localhost
  • Read WinNMP Basic Usage - Getting Started
  • The default MariaDb(MySql) host is localhost with username root and no password.
  • The default Redis host is localhost port 6379
  • Read our tutorials on How to install Joomla, Magento 2 or Wordpress on Windows

About WinNMP:

  • WinNMP stands for Windows Nginx MariaDB/MongoDB PHP (solution stack)
  • WinNMP was previously known as WTServer (for 2 years) and WT-NMP for (3 years).


WinNMP is portable. After installing it, you can safely copy or move the WinNMP folder without loosing any data, projects, databases or settings. The configuration files are updated automatically. You can even copy and run it from a flash drive. It is recommended but not required that you run the installer once on each new machine:

  • The installer fixes some windows networking issues that will make Nginx super fast and also allows faster connections to the Mysql server. Also installs Visual C++ Redistributable
  • The installer registers php, mysql, mongo, redis and composer executables to PATH. If you move WinNMP, those executables won't be available globally anymore, unless you open the command prompt from within WinNMP

WinNMP Manager command line arguments:

example shortcut: D:/Work/bin/WinNMP.exe --debug --backup --phpCgiServers=2

  • -d --debug Display debug messages
  • -e --editor="notepad.exe" Path to editor to be used to edit configuration files
  • -s --startServers Starts all the servers in background and minimizes to systray
  • -k --killAll Kills all running servers and exits
  • -b --backup Forces automatic daily backups
  • -l --latestPhp Forces the use of the latest PHP version
  • -p=n --phpCgiServers=n Forces the number of PHP-CGI Servers, between 1 and 99
  • -j --hideProjects Hides Projects list at startup
  • -n --noUpdates Disables weekly Update checks
  • -w --wwwDir="c:\Dir" Custom WWW folder path for projects
  • --exposeDbs BindIp and DbPath in DBs config files will no longer be ignored


  • Nginx: One of the reasons Nginx is so fast, it`s because it does not process .htaccess files. Therefore URL Rewriting and User Access must be set in nginx.conf.
  • MariaDb: If your access to MariaDB is denied or if the privileges table mysql.user is corrupt, delete the file c:\WinNMP\bin\mysql.bat and restart WinNMP
  • Redis is available only on 64bit systems
  • PHP is configured in a very restrictive way, like on most hosting providers. Comment out disable_functions, disable_classes, open_basedir in conf/php.ini, if you need a more permissive PHP configuration.
  • PHP Extensions: most of them are disabled by default, enable them in conf/php.ini (see src/defaults/php.ini for opcache, xdebug, xcache)
  • PHP MySql extension is disabled by default and is deprecated as of PHP 5.5.0, and will be removed in the future. Instead, the MySQLi or PDO_MySQL extension should be used. If you really want to enable mysql extension, add or uncomment in conf/php.ini: extension = php_mysql.dll
  • PHP: Starting only one PHP-CGI server with WinNMP.exe --phpCgiServers=1 will result in slow ajax requests since Nginx will not be able to process PHP scripts simultaneous.