It has been almost 3 years that we moved our high-traffic blog Devils Workshop to Nginx – one of the fastest web server out there.
When I started with Nginx, there was very less help available. I spent most of my time on Nginx IRC channel, mailing lists and forums communicating with people across the globe.
Back then, it seemed like a crazy move. But now I am glad I took that step. It was totally worth it. One of the most commendable achievement is that we handle almost half-million hits everyday for more than 20 sites hosted on our dedicated server.This is without any slowdown or downtime. I feel proud to switch to Nginx much earlier. As an early mover, I learned way too many things myself as there was no alternative then.
Today, as a server-administrator, I feel that I have learned enough to authoritatively write down my own findings here as a series of articles. I hope you will find this helpful to the Nginx community.
Goals for this series
At bare minimum you need PHP, MySQL, Nginx & WordPress to get the job done. It can be covered in a quick & dirty tutorial!
I call it dirty because most Nginx related tutorial miss Postfix – a mail server needed on many server OS! Some even wanted to use Nginx as front-end for Apache. Some of them setup PHP in vulnerable ways. Some of them do not mention anything about debugging, optimizing and on-going maintenance.
Addressing so many things is not possible in a single tutorial. Also, I plan to update the series regularly. Segregating it under different chapters will not only help you but will also make it easy for me to maintain and update it.
How this series is organized!
Though this series is focused on WordPress mostly, we use Nginx for running other web-applications also. As we use WordPress for everything, we have many different Nginx configuration for different circumstances.
So, we will keep WordPress-Nginx configuration related articles separate from managing PHP, MySQL, Nginx & other softwares’ stack. WordPress-Nginx configuration itself are OS independent for most of the parts. While managing PHP, MySQL, Nginx & other softwares’ will be OS-dependent. For this series we will be using Ubuntu 12.04 LTS everywhere.
Overall, the series has been divided in:
- Installing PHP, MySQL, Postfix & Nginx on Ubuntu (one-time activities)
- Nginx configuration for different WordPress scenarios (repeated every-time you create a wordpress)
- Debugging/Optimizing PHP, MySQL, Nginx & WordPress at different levels
- Troubleshooting – Common errors & their solutions
- Other helpful articles e.g. mail server, backup, control panel for Nginx, useful tools/projects
As Nginx development has gathered a lot of momentum and is evolving faster than I anticipated, you may find today’s best configuration outdated in future. I will try my best to keep individual articles updated.
I will be publishing one article everyday on this blog. You can subscribe to this blog easily.
At any time, you can use our free support forum if you need some technical help. Comments will be kept open to discuss article itself.
I hope you will find this series useful. 🙂
Great share and good start.. i am looking for similar tutorials for my own website.
i am website owner and i am looking help for setup dedicated server without cPanel and should be secured & optimized.
Right now, i am learning for this mod: http://centminmod.com/. But my limited LINUX knowledge need more help.
Once again thanks for nice tutorial.
I checked Centos Mod. It looks good but there are 2 differences – this series will is based on mostly Ubuntu. Second, we will be dealing with WordPress in & out!
I hope you will find this useful, specially if you use WordPress a lot. 🙂
I want to use centOS. As you said the tutorials are based on ubuntu, can I configure nginx on centOS. Would be there any difficulties ?
Update: We have released https://rtcamp.com/easyengine for Ubuntu. Its alternative to Centminmod, made for Ubuntu, optimized for WordPress sites.
Comments are closed.