GithubHelp home page GithubHelp logo

server-configs-nginx's Introduction

Test

Nginx Server Configs is a collection of configuration files that can help your server improve the website's performance and security, while also ensuring that resources are served with the correct content-type and are accessible, if needed, even cross-domain.

Getting Started

Using the Nginx server configs repo directly has a few required steps to be able to work.

Check nginx.conf settings

The first thing to check is that the nginx.conf file contains appropriate values for your specific install.

Most specific variables are:

  • user
  • error_log
  • pid
  • access_log

Nginx test and restart

  • To verify Nginx config

    nginx -t
  • To verify Nginx config with a custom file

    nginx -t -c nginx.conf
  • To reload Nginx and apply the new config

    nginx -s reload

Repository structure

This repository has the following structure:

./
├── conf.d/
│   ├── default.conf
│   └── templates/
├── h5bp/
│   ├── basic.conf
│   ├── location/
│   └── .../
├── custom.d/
│   └── .../
├── mime.types
└── nginx.conf
  • conf.d/

    This directory should contain all the server definitions.

    Except if they are dot prefixed or non .conf extension, all files in this directory are loaded automatically.

    • templates folder

      Files in this directory contain a server template for secure and non-secure hosts. They are intended to be copied in the conf.d directory with all example.com occurrences changed to the target host.

  • h5bp/

    This directory contains config snippets (mixins) to be included as desired.

    There are two types of config files provided: individual config snippets and combined config files which provide convenient defaults.

    • basic.conf

      This file loads a small subset of the rules provided by this repository to add expires headers, allow cross-domain fonts and protect system files from web access. The basic.conf file includes the rules which are recommended to always be defined.

    • location/

      Files in this directory contain one or more location directives. They are intended to be loaded in the server context (or, in a nested location block).

  • custom.d/

    This directory should contain all the custom nginx.conf configuration.

    Except if they are dot prefixed or non .conf extension, all files in this folder are loaded automatically.

  • mime.types

    The mime.types file is responsible for mapping file extensions to MIME types.

  • nginx.conf

    The main Nginx config file.

Usage

As a reference

To use as reference requires no special installation steps, download/checkout the repository to a convenient location and adapt your existing Nginx configuration incorporating the desired functionality from this repository.

Download the latest release archive.

Directly

To use directly, replace the Nginx config directory with this repository. For example:

nginx -s stop
cd /etc
mv nginx nginx-previous
git clone https://github.com/h5bp/server-configs-nginx.git nginx
# install-specific edits
nginx

Manage sites

cd /etc/nginx/conf.d
  • Creating a new site

    cp templates/example.com.conf .actual-hostname.conf
    sed -i 's/example.com/actual-hostname/g' .actual-hostname.conf
  • Enabling a site

    mv .actual-hostname.conf actual-hostname.conf
  • Disabling a site

    mv actual-hostname.conf .actual-hostname.conf
nginx -s reload

Support

  • Nginx v1.8.0+

Contributing

Anyone is welcome to contribute, however, if you decide to get involved, please take a moment to review the guidelines:

Acknowledgements

Nginx Server Configs is only possible thanks to all the awesome contributors!

License

The code is available under the MIT license.

server-configs-nginx's People

Contributors

ad7six avatar aitte avatar alanorth avatar allantatter avatar alrra avatar appleboy avatar bits avatar chrismckee avatar davisonio avatar dependabot[bot] avatar efmr avatar ericandrewlewis avatar greyxor avatar irazasyed avatar jeffwidman avatar lc43 avatar leocolomb avatar mathiasbynens avatar mikealmond avatar notbobthebuilder avatar nvartolomei avatar paulirish avatar pentago avatar petecooper avatar philippbecker avatar rowno avatar steffenweber avatar straight-shoota avatar vendruscolo avatar wolfeidau avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.