2.5 KiB
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:
- 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". } }- 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 { ... }