Nginx Related Tips and Configurations
This page contains all the information you'll ever need regarding nginx and how to work with it in both a production and development/static enviroment.
Noteable Nginx Points
For nginx, On most systems, The config can be found in /etc/nginx & virtual hosts are present in:
/etc/nginx/conf.d- CentOS/RHEL/AlmaLinux/RockyLinux Based systems/etc/nginx/sites-available- Debian/Ubuntu Based systems
Things to know:
- File names must end in a
.confas by default, thenginx.conf(the parent file) only sees .conf files (*.conf - setting). - Files placed inside
sites-availablemust be system linked usinglncommand tosites-enabledas by default, thenginx.conf(the parent file) only sees the.conffiles present insidesiltes-enabledand notsites-available.
Basic Nginx Config
This is the most basic nginx config where proxy_pass & server_name values need to be modified and it should work in most applications. This config already passes the real IP in the proxy_set_header value and it can be commented out by putting a # in the beginning of the line to disable.
server {
listen 80;
server_name www.example.com example.com;
location / {
proxy_pass http://localhost:2000;
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection 'upgrade';
proxy_set_header Host $host;
proxy_cache_bypass $http_upgrade;
proxy_set_header X-Forwarded-For $remote_addr;
}
} 