WikiJS/home/linux/nginx/configuration.md
2025-06-05 13:04:03 +00:00

2.5 KiB

title description published date tags editor dateCreated
NGINX Configuration How to simply configure and NGINX http server true 2025-02-27T20:27:40.472Z nginx, server, http, linux markdown 2025-02-27T15:48:54.929Z

Configuring NGINX

Note:

Following "The NGINX Crash Course" by Laiture on Youtube.com Big BIG thanks to Laiture for this incredible how to video.

- /etc/nginx/nginx.conf ==> main configuration file

Terminology:

Directives - key value pairs within blocks of code

Contexts - blocks of code that contain directives. http, events, etc... events context must be present.

To Start NGINX: nginx

Simplest Static Site:

  • Use http and events context:
#nginx.conf example
http {
	server{
  		listen 8080;
      root /var/www/html;
  }
}

events {}

Reload NGINX after changes: nginx -s reload

Mime Types

  • Mime types allow styles and other dynamic content to be served based on filetypes.
    • Mime.types file contains a collection of filetypes supported by NGINX to serve.
    • Including it in the conf file allows dynamic content to be served.

To include Mime Types simply add: include mime.types

Location Block

  • Adding a location block can be done as the following:
server { 
		listen 8080;
    root /var/www/html;
    
    location /somepath {       # http://localhost:8080/somepath
    		root  /var/www/html;   # Serves index.html within /somepath folder in /var/www/html
        
    }
}
  • Location can take directives such as:
    1. alias - redirects elsewhere such as:
    server { 
     	listen 8080;
     	   	root /var/www/html;
    
     	location /somepath {       # http://localhost:8080/somepath
    				root  /var/www/html;   # Serves index.html within /somepath folder in /var/www/html
         }
     	location /otherpath {
    	  		alias /var/www/html/somepath; # Points back to "somepath". 
     		}
    
     }
    
    
    1. try_files - Specifies files to try before index.html, followed by what to show if not found. - Example: try_files /somepath/somesite.html /index.html =404;
    • Explanation:
      • Try to find and serve somesite.html in somepath folder and if not found, redirect to root/index.html.
      • If neither are found, produce 404 Error.

Redirects & Rewrites

Redirects:

location /somesite {
		return 307 /someOtherSite;
}

Rewrite:

rewrite /some/path/I/want /to/some/path/that/exists;

location { ... }