Changing Nginx Settings
SpinupWP uses Nginx to serve web requests. The global nginx.conf file is located at /etc/nginx/nginx.conf. You should avoid editing this file unless you are sure you want to make a global change for every site on your server.
Common Nginx settings that correspond with PHP settings can be configured from the server’s Nginx tab:
- Client Max Body Size – Maximum request size allowed by Nginx
- Client Body Timeout – Maximum time that Nginx will wait for the client to send the request body
- FastCGI Read Timeout – Maximum time that Nginx will wait for PHP to respond

Any other settings can changed by SSHing into your server as a Sudo user and manually editing the Nginx config files.
When you create a site in SpinupWP, a new Nginx config is created for that site with sensible and secure defaults and is located at:
/etc/nginx/sites-available/{DOMAIN}/{DOMAIN}
You are free to edit this file as you wish. However, you should not edit any lines that have the # Managed by SpinupWP comment as they are required for SpinupWP to work correctly.
Included Directories
There are 4 include statements in the site Nginx config that load all the conf files from specific directories. This makes the Nginx configs easier to manage and debug and is the recommended way of adding customizations to your site’s Nginx config. Instead of editing the site Nginx config directly, you would create a new conf file in one of the following “included” directories:
/etc/nginx/sites-available/{DOMAIN}/before
Included before the server block. For example, global Nginx directive overrides would go here.
/etc/nginx/sites-available/{DOMAIN}/server
Included before any location blocks. For example, custom redirects, custom file handling, cache exclusions, enabling CORS etc. would go here.
/etc/nginx/sites-available/{DOMAIN}/location
Included at the end of the PHP location block. For example, custom fastcgi configuration would go here.
/etc/nginx/sites-available/{DOMAIN}/after
Included after the server block. For example, custom server blocks would go here.
We use this same technique in SpinupWP itself to manage certain configs. For example, when you enable HTTPS for your site in SpinupWP we add a config to the following location with important configuration directives:
/etc/nginx/sites-available/{DOMAIN}/server/https.conf
To verify that there are no issues with your Nginx configuration you can run:
sudo nginx -t
Remember to reload Nginx when making any changes to your Nginx config files:
sudo service nginx reload