Test nginx configuration
sudo nginx -t
Reload nginx
sudo systemctl reload nginx
Or:
sudo nginx -s reload
Restart nginx
sudo systemctl restart nginx
Stop nginx
sudo systemctl stop nginx
View nginx version
nginx -v
Check nginx status
sudo systemctl status nginx
View error logs
sudo tail -f /var/log/nginx/error.log
View access logs
sudo tail -f /var/log/nginx/access.log
Basic server block (virtual host)
server {
listen 80;
server_name example.com;
root /var/www/example;
index index.html;
location / {
try_files $uri $uri/ =404;
}
}
Reverse proxy
location / {
proxy_pass http://localhost:3000;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
}
SSL configuration
server {
listen 443 ssl;
server_name example.com;
ssl_certificate /etc/nginx/ssl/cert.pem;
ssl_certificate_key /etc/nginx/ssl/key.pem;
}
Redirect HTTP to HTTPS
server {
listen 80;
server_name example.com;
return 301 https://$server_name$request_uri;
}
Enable gzip compression
gzip on;
gzip_types text/plain text/css application/json application/javascript;