NGINX for 1,000,000++ TPS as told by a Naver interviewer
This course focuses on solving the problem of getting stuck in interviews and practical work due to a lack of understanding of why certain structures and configurations are necessary, rather than just teaching how to configure NGINX. Based on experience evaluating numerous candidates as an interviewer for companies like Naver, Kakao, and Toss, I explain how to describe and utilize NGINX from the perspectives of performance, scalability, and operations through hands-on practice. The core of this course is to help you develop a mindset capable of tracing traffic flow and troubleshooting problems, rather than just memorizing configuration values.
To be honest, NGINX is quite difficult and hard to get around to studying, but it was a huge help that you covered only the core essentials in such a short time. Thank you.
5.0
lsls ks
94% enrolled
I think it would be good to use the lecture content as a foundation and do some additional self-study. It felt like a lecture that really helps set the direction and establish the core concepts!
5.0
에이미
88% enrolled
It was content that really helped me grasp the basics firmly. Thank you.
What you will gain after the course
A structural understanding of NGINX that allows you to explain the "why" behind its configuration.
The ability to logically explain NGINX, networking, and traffic flow questions during an interview.
Practical skills for designing and explaining service architectures from a Reverse Proxy perspective
The ability to independently complete NGINX configuration templates while considering performance and scalability.
Problem-solving skills to hierarchically trace and explain causes during failure situations
Development · Programming · Backend
I know the settings, but if you ask why I did it that way
NGINX configuration files are all over the internet. If you copy them, they usually work. The problem comes after that. Whether it's in an interview or during a failure situation, you get stuck when asked, "Why this specific value?" This course makes you understand the structure instead of just memorizing configurations.
Difficulty: Beginner
Practice-oriented
Templates to copy and use
Reverse Proxy
Unlimited Access Period
From basic syntax to operationsContext Block · Process Model · Reverse Proxy
Copy-and-paste templatesPerformance and compression settings in a ready-to-use format
Two current developers10-year veteran at Naver HQ · Pangyo platform server development
NGINX is a front-end server that receives requests and passes them to back-end servers. It serves as a web server, a reverse proxy, and is also used as a load balancer. We start by looking at how it differs from Apache.
Where this course begins
It works, but you can't explain why.
A common state
Copy the settings
worker_processes, keepalive_timeout, gzip. You paste values you've seen somewhere exactly as they are. It works.
Why that specific value
The point where things get stuck
cannot provide a rationale
When traffic increases, you won't know what to scale up or where these settings are inherited.
Configuration files are inherited through parent-child relationships. If you don't know those rules, you'll end up relying on intuition to decide which block to write in. This course starts by establishing that very structure.
Where this course began
This is a conversation that actually took place
The topic of NGINX came up at a gathering of current developers working at different companies. That conversation was the starting point for this course.
This is a conversation that took place in an open chat room where Inflearn knowledge sharers gathered.
KKakao Interviewer (Developer)To what extent is everyone using NGINX? We're using it too, but I'm looking to improve something. I was wondering if there are any real pro-tips that only you guys know.
HHongWe have a separate infrastructure team, so I don't handle NGINX directly. I'd like to try it sometime, though...
NNaver Interviewer (Developer)There's an NGINX expert right here. My team uses it too, but as far as I know, the Naver main page either uses NGINX directly or uses an SSI-based web server.
TToss DeveloperIt's actually quite hard to find a place that doesn't use NGINX. Even if it's not NGINX specifically, they always use something in a similar form.
NNaver Interviewer (Developer)Personally, I think the perspective of a reverse proxy has great advantages in terms of integrated processing for operating services, as well as in areas like authentication and authorization.
NNaver Interviewer (Developer)I just had a great idea. I'll create a lecture on this together with Hong.
What you will learn
Establish the structure and solidify it into a template.
Differences from Apache We will start by looking at why NGINX was created. If the architecture is different, the configuration method also changes.
Context BlockHow settings are inherited from parent to child and where they are overwritten
ModularizationDivide files using include and abstract them into an extensible form
Process ModelHow to configure workers from a throughput perspective
Performance & Compression TemplatesCreate a base template that can be copied and used as-is
Edge Case PatternsBypassing situations that cannot be handled with standard syntax using NGINX methods
Reverse Proxy How to receive traffic at the front end and pass it to the back. This is the section with the largest weight.
In the interview
The difference is made in the second question, even if it's the same initial question.
The first question is usually passed over. The interviewer digs one step deeper, and that is where those who truly know are distinguished from those who have simply memorized.
BEFORE
Q. What role does NGINX play?
A. It acts as a reverse proxy, and I understand that the architecture can be configured in a way that avoids direct communication with the server.
Q. Then, looking at it solely from a reverse proxy perspective, how do the differences in connections occur?
A. Um… I'm not sure.
AFTER
Q. Then, from a reverse proxy perspective alone, how do the connections differ?
A. Instead of a structure where the client and server are connected as one, the connection is split into two.
The client communicates with NGINX, and NGINX receives that request to communicate with the backend server.
Thanks to this hierarchical structure, NGINX does not just pass requests along; it can also handle load balancing, Keep-Alive management, and authentication/authorization collectively at the front end.
You cannot get past the second question with memorized sentences. If you understand the structure, you can create and speak on the spot.
Even templates you can copy and use immediately
Once you understand the reasoning behind each setting, you will be able to read others' configurations as well.
We will establish the syntax and structure in the first half, then move on to practical patterns and Reverse Proxy in the second half.
01
Course Introduction
Course Introduction
02
Legacy System vs NGINX Comparison & Practice Environment Setup
NGINX Core Concept: Solving the Shortcomings of Apache
NGINX Installation and Environment Configuration (Commands for Zero-Downtime Deployment)
03
You can just copy and use it as is — NGINX Basic Usage
NGINX Context Blocks based on parent-child relationships
NGINX Standard Syntax: Special Inheritance Techniques and Overwriting Methods
NGINX modularization patterns that introduce abstraction concepts considering Include and scalability
Process Model Setting from the perspective of NGINX throughput
Methods for optimizing performance and the basic NGINX Template format for configuration
Compression Settings Template for Optimization from a Network Transmission Perspective
04
NGINX-specific trick patterns for implementing edge cases
Static file serving Path Matching techniques: root and alias
Virtual Host (Server Block) Setting for Hosting Multiple Domains
Redirection and Rewrite Directives
05
How to use NGINX from a Reverse Proxy perspective
Dynamic Reverse Proxy based on HTTP1.0/HTTP1.1
Dynamic Reverse Proxy based on WebSocket and server function testing
Load Balancing Using NGINX and 5 Algorithms
Everything about Performance Optimization in NGINX [ Feat. Performance Optimization ]
Applying HTTPS SSL/TLS CA Certificates and Implementing HTTP/2 Protocol
For these people
Who is this course for?
Developers who have memorized NGINX configurations but get stuck every time they are asked, "Why did you do it that way?"
Job seekers whose minds go blank whenever CS or network questions come up in interviews
Juniors who cannot explain Reverse Proxy and traffic flow from a practical perspective
Those who are copying and using someone else's front-end server configurations.
Job Posting
What do actual job postings require?
Whether a company has a dedicated infrastructure team or not, NGINX is included in the required stack for back-end job postings. This item was taken directly from an actual job posting.
NHN
Service Development
Preferred Qualifications
Those with experience in developing and operating large-scale distributed systems
Those who have experience in configuring infrastructure architecture based on L4/L7 load balancers (HAProxy, Nginx, etc.) and DNS → 5 Load Balancing Algorithms
Those with experience using AWS or OpenStack
Those with experience in configuring high-availability service infrastructure, such as GSLB, VIP, and TLS certificate operations → SSL/TLS · HTTP/2
Those with experience communicating with various organizations
We will attach the load balancer and TLS certificate ourselves in the final section. You will encounter the terms written in the job posting as actual configurations within the lecture.
넷마블
Internal HR System Developer
Preferred Qualifications
Understanding of HR systems
Internal system development experience
Computer science related major
Experience using Java, Spring, DBMS, Angular, React, Vue, JQuery, mybatis, nginx, tomcat→ Included in required stack
Even though this is an internal system job posting rather than an infrastructure role, nginx is listed alongside tomcat. Front-end servers are treated as a default requirement.
아이지에스
Service Developer
Responsibilities
JavaScript and Vue.js development
Design and development of Spring Boot-based API servers
MySQL and schema design
Nginx/Apache2 configuration→ Covered from Section 2
It is included in the main responsibilities, not just as a preference. This course starts with the structural differences between Apache and NGINX.
Job Market
It is not well-proven by documents alone.
These are the results of a survey on the biggest challenges companies face when hiring developers. The top two items both suggest that it is "difficult to trust what is written."
Difficulty in identifying the technical skill level on a resume24.3%
Difficulty in accurately assessing practical experience through documents21.7%
Difficulty evaluating soft skills during interviews13.2%
Difficulty verifying the authenticity of project experience12.1%
Difficulty in determining the candidate's cultural fit7.7%
Lack of effectiveness in evaluating practical skills6.8%
Evaluation takes a lot of time and cost6.2%
Difficulty in assessing technical depth during interviews5.7%
Difficulty in maintaining the objectivity and reliability of evaluation results2%
Other0.3%
Source: Grepp "Developer/Non-developer Competency Assessment" Service Usage Status and Opinion Survey. Therefore, interviews ask "why you did it that way" rather than "what you have used." This lecture covers that level of depth.
The current market
Stories about AI replacing developers
New recruitment is decreasing, and companies are trying to hire only those who are proven. These are articles that have come out in recent months.
Krafton, which achieved record-breaking performance, has begun downsizing its workforce. The reason given was its transition into an 'AI-first' company.
Software specialized companies are halting the recruitment of new developers. There are also projections that the hiring of entry-level developers will plummet by 77%.
53% of game designers answered, "AI will replace my job." Cases of recommended resignation have also been reported.
As much as companies are feeling uneasy, those being hired must demonstrate a clearer distinction. Ultimately, studying is something you do on your own, but depending on what you look at and from what perspective, the depth of explanation you can provide changes even when spending the same amount of time. I created this lecture to pass on that perspective.
Course Reviews
Stories from those who listened first
I copied this directly from the Inflearn course reviews.
"Actually, NGINX is quite difficult and hard to get around to studying on your own, but it was a huge help that you taught only the core essentials in such a short time. Thank you."
lsls ks · Written after 94% completion
"The content itself includes many very difficult concepts, but you explained them so clearly and simply that I feel I learned from many different perspectives. Even when things were hard to understand, there were plenty of practice codes and visual materials, making it a very cost-effective and worthwhile course."
Jang Jaehoon · Written after 88% completion
"I can't believe how many hands-on exercises we did in such a short time... It was so helpful because there were so many practice materials."
Developer born in '02 · Written after 88% completion
"I think it would be good to study a bit more individually using the lecture content as a foundation. It felt like a course that sets the direction and establishes the core concepts."
Amy · Written after 94% completion
Instructor
Created by two current developers.
Created together by Ande, a 10-year backend developer at NAVER headquarters, and Hong, a platform server developer in Pangyo.
NAVER · BACKEND ENGINEER · 10 years of experience
Ande
I am a 10-year backend developer currently developing servers at NAVER headquarters. Most of the structures and decision-making criteria covered in this course are things I've personally organized while experiencing them in the field. Please feel free to leave any questions.
"Knowing what to scale when traffic increases comes from understanding the structure, not just the values."
Current NAVER Server (HQ) Developer · Former Shinsegae Group Backend Developer · Former Healthcare Startup Server Developer · Computer Science Major
High TrafficBackend ArchitectureInfrastructureIncident Response
Knowledge Sharer · Pangyo Platform Server Development
Hong
I am in charge of platform server development in Pangyo. I continue to work as a knowledge sharer to share the methods I studied myself and the problems and solutions I encounter in practice. I don't create lectures alone, but together with various developers in the field.
"If you can answer why a single line of a configuration file is there, you will be able to read even a server you are seeing for the first time."
Platform Server DevelopmentInfrastructure OperationsMultiple Backend Courses
Frequently Asked Questions
NGINX Course Frequently Asked Questions
Q. Can I take this course even if I'm using NGINX for the first time?
⌄
Yes. We start with installation and setting up the practice environment in Section 2. We begin by pointing out the differences from Apache, so you can follow along even if the concept of a front-end server is unfamiliar to you. The difficulty level is set for beginners.
Q.Can I use the configuration files as they are?
⌄
Section 3 is for that purpose. We have created basic templates for performance optimization and compression settings, along with explanations for why each line has that specific value. The goal of this section is to allow you to copy and use them while understanding the reasoning behind them.
Q. Is this helpful for interview preparation?
⌄
I designed it to focus on understanding the structure rather than memorizing configuration values. Things like the inheritance rules of Context Blocks, how the Process Model affects throughput, and how the Reverse Proxy handles traffic. This level of depth is necessary to answer the question, "Why did you do it that way?"
Q.How deeply do you cover Reverse Proxy?
⌄
The entire last section is dedicated to Reverse Proxy, and it holds the largest weight in this course. It starts with Dynamic Reverse Proxy based on HTTP/1.0 and HTTP/1.1, covers WebSocket proxying and server function testing, five load balancing algorithms, and performance optimization, before moving on to applying HTTPS SSL/TLS certificates and implementing HTTP/2.
Q.What does the Edge Case section cover?
⌄
There are situations that cannot be handled cleanly using standard syntax alone. This section covers how path matching differs between root and alias when serving static files, how to divide Server Blocks to accept multiple domains on a single server, and where to use Redirection and Rewrite directives.
You learn the structure, not just the settings
Once you understand why the copied configuration looks the way it does, you will be able to read configuration files you've never seen before.
It takes a long time when you're stuck alone. There is a separate space where you can freely share everything from parts you get stuck on while taking the course, questions that arise while applying it to your own service, to stories about careers and the industry.
OPEN CHAT · Developer Community
What do we share?
We discuss problems encountered in actual practice, which structures others have chosen, and stories about developer careers. Questions related to the lecture are also welcome.
"The spots where you get stuck are usually where others get stuck too. Asking someone who has already passed through is the fastest way."
I started studying development after becoming interested in it while idling at home, and I am currently responsible for platform server development in Pangyo. I am continuing my activities as a knowledge sharer because I want to provide you with the methods I used to study, as well as the various problems and solutions you may encounter in practice.
These lectures are not created solely through my own knowledge. There are others who collaborate on every lecture.
I can't believe how many hands-on exercises we did in such a short time... The materials were so extensive and informative that I found them very helpful.
To be honest, NGINX is quite difficult and hard to get around to studying, but it was a huge help that you covered only the core essentials in such a short time. Thank you.
I think it would be good to use the lecture content as a foundation and do some additional self-study. It felt like a lecture that really helps set the direction and establish the core concepts!