Book Image

Nginx Troubleshooting

By : Alexey Kapranov
Book Image

Nginx Troubleshooting

By: Alexey Kapranov

Overview of this book

Nginx is clearly winning the race to be the dominant software to power modern websites. It is fast and open source, maintained with passion by a brilliant team. This book will help you maintain your Nginx instances in a healthy and predictable state. It will lead you through all the types of problems you might encounter as a web administrator, with a special focus on performance and migration from older software. You will learn how to write good configuration files and will get good insights into Nginx logs. It will provide you solutions to problems such as missing or broken functionality and also show you how to tackle performance issues with the Nginx server. A special chapter is devoted to the art of prevention, that is, monitoring and alerting services you may use to detect problems before they manifest themselves on a big scale. The books ends with a reference to error and warning messages Nginx could emit to help you during incident investigations.
Table of Contents (15 chapters)
Nginx Troubleshooting
About the Author
About the Reviewers
Rare Nginx Error Messages

Obsolete pages and VirtualBox

There is one other possible problem that manifests itself as users (or, more frequently, developers) seeing old versions of web pages in HTTP responses. There is a bug in VirtualBox virtualization software, which is very popular as a development virtualization solution (for example, with Vagrant or, more lately, Otto). VirtualBox is also sometimes used as a production virtualization technology. It has a feature named "shared folders", which allows it to have a copy of the host machine folder inside one of the guest machines.

The bug is in the handling of the sendfile() Linux kernel syscall inside VirtualBox. This syscall directly copies a file to a TCP socket, avoiding extra unneeded memory copies and providing all possible optimizations for this rather specific but very popular special case. You can imagine how well this case suits many Nginx workloads. Even if it is not just serving local static files, Nginx cache may use sendfile() very efficiently.

The support...