Skip to content

Nginx Server Configs

A set of ready-made Nginx config files for better performance, security, and content types.h5bp/server-configs-nginx

Stars
11.6k
Forks
1.5k
Licence
MIT
Language
—
Last update
5 months ago
Type
Other

What it is

This is a collection of Nginx configuration files meant to help a web server run faster and more securely, serve files with the correct content types, and allow cross-domain access when needed. You copy or adapt these files into your own Nginx setup instead of writing every rule from scratch. The project is based on the H5BP (HTML5 Boilerplate) best-practice approach.

  • Add expires headers and cache rules to static files using the h5bp/basic.conf snippet
  • Create a new site by copying a server template from conf.d/templates and replacing example.com with your hostname
  • Enable or disable a site by renaming its file, then reloading Nginx
  • Allow cross-domain font loading and protect system files from web access

Great for

  • People who run their own Nginx web server and want sensible defaults
  • Site owners who want to add caching headers and protect system files without writing rules themselves
  • Developers who want a reference for well-structured Nginx configs
  • Teams setting up multiple sites with a shared, organized config layout

Not ideal for

  • People who do not run Nginx (the files only apply to Nginx servers)
  • Users who want a point-and-click hosting tool, since this is plain configuration files that must be edited by hand
  • Anyone who needs a config tuned to a specific app without checking each rule, since the README does not explain every individual setting in depth
Step-by-step guide: how to use Nginx Server ConfigsInstall, first run, examples, tips and FAQs

How to get it

  1. 1

    Clone and build from source

    You'll need: Nginx v1.8.0 or later · Git (optional, for cloning the repository)

    Clone the repository into your Nginx config directory (after backing up the existing one)

    git clone https://github.com/h5bp/server-configs-nginx.git nginx

    Test the Nginx configuration

    nginx -t

    Reload Nginx to apply the new config

    nginx -s reload
  2. 2

    Run it

    • Back up your existing Nginx config directory and stop Nginx if replacing it
    • Clone the repository or download the latest release archive
    • Edit nginx.conf to set user, error_log, pid, and access_log for your install
    • Run nginx -t to verify the configuration, then nginx -s reload to apply it
  3. 3

    Get the most out of it

    • Use the templates in conf.d/templates to create one server block per site, then enable it by renaming the file
    • Include h5bp/basic.conf in your server blocks for the recommended baseline rules
    • Add your own overrides in custom.d/, which the config loads automatically when filenames end in .conf
    • Include individual files from h5bp/location/ inside specific location blocks as needed

Downloads

Strengths

  • Covers performance, security, and content-type handling in one organized set of files
  • Clear structure separating server definitions, reusable snippets, and custom overrides
  • Widely starred and MIT licensed, so it can be reused freely

Trade-offs

  • Requires editing nginx.conf values such as user, error_log, pid, and access_log for your own install
  • The README is short on explanations of individual rules, so you need Nginx knowledge to adapt it safely
  • Stated support is Nginx v1.8.0 and later, so very old servers may not be a fit

How it compares

ProjectStarsTypeLevelUpdatedBest for
server-configs-nginx (this)11.6kOtherintermediate5 months agoPeople who run their own Nginx web server and want sensible defaults
html5-boilerplate57.7kOtherbeginner5 days agoDevelopers starting a new static website who want a tested baseline
nginxconfig.io28.3kAppbeginner1.9 years agoPeople setting up an NGINX server for a website or app who want a starting config
nginx-admins-handbook14.3kLearning resourcebeginner2.0 years agoSystem administrators who already run NGINX and want practical tips
nginx-proxy-manager34.6kAppbeginner5 days agoPeople self-hosting web services at home who want friendly domain names and HTTPS
standard29.4kDev toolbeginner1.3 years agoJavaScript projects where the team wants consistent style without debating rules

Stats synced from GitHub. The assessment above was drafted with AI from the project's README on 2026-10-29 and may miss recent changes — check the README before relying on a command. MIT licence: free to use, modify and distribute, including commercially, as long as you keep the copyright notice.