Bash script + config files to setup a new Nginx webserver (Nginx + MariaDB + PHP + Redis) on Debian / Ubuntu based systems.
Go to file
Robert @ Tech Addressed 34b63400da Update LICENSE 2023-10-17 05:25:25 +00:00
config Add missing semi-colons 2022-11-06 21:09:43 +00:00
LICENSE Update LICENSE 2023-10-17 05:25:25 +00:00 Update 2023-10-17 05:24:12 +00:00 Update '' 2023-03-28 20:13:22 +00:00


A bash script and accompanying configuration files for setting up a Nginx webserver on Debian / Ubuntu based systems. The following services are installed as part of this script:

  • Nginx
  • PHP
  • MariaDB
  • Redis

The configuration files accompanying the setup script are modified to my own preferred defaults - such as but not limited to:

  • Number of Nginx Workers 1024
  • Set the max body size 8GB
  • Set the PHP RAM limit 256MB
  • Optional config files to configure real IP if behind a reverse proxy

I've included example files in the /etc/nginx/sites-available directory that are "better" than the standard default that comes with Nginx.


This script is tested and known to work with both Debian 12 and Ubuntu 22.04.


git clone
cd setup-nginx-webserver

As part of the script execution, you'll need to step through the mysql_secure_installation process.

If you need more detailed directions, refer to this tutorial for additional info.