Monitoring and Troubleshooting
Enable Status Module
server {
listen 8080;
server_name localhost;
location /nginx_status {
stub_status on;
access_log off;
allow 127.0.0.1;
deny all;
}
location /upstream_status {
# nginx plus feature
# status;
access_log off;
}
}
Useful Commands
# Test nginx configuration
docker exec nginx-proxy nginx -t
# Reload nginx configuration
docker exec nginx-proxy nginx -s reload
# View nginx status
curl http://localhost:8080/nginx_status
# Monitor access logs
docker exec nginx-proxy tail -f /var/log/nginx/access.log
# Check upstream server status
docker exec nginx-proxy cat /var/log/nginx/error.log | grep upstream
# Test configuration syntax
docker run --rm -v $(pwd)/nginx/nginx.conf:/etc/nginx/nginx.conf nginx nginx -t
Common Issues and Solutions
502 Bad Gateway
# Check if backend servers are running docker compose ps # Check network connectivity docker exec nginx-proxy ping my-apache-app1504 Gateway Timeout
# Increase timeout values proxy_connect_timeout 60s; proxy_send_timeout 60s; proxy_read_timeout 60s;Connection refused
# Verify backend server ports docker exec my-apache-app1 netstat -tlnp