Jump into concepts and practice - no test required
or
Recommended
Test this pattern10 questions across easy, medium, and hard to know if this pattern is strong
First Nginx configuration
📖 Scenario: You are setting up a simple web server using Nginx. This server will serve a basic HTML page to visitors.
🎯 Goal: Create a basic Nginx configuration file that listens on port 80 and serves files from the /var/www/html directory.
📋 What You'll Learn
Create the main server block in the Nginx configuration
Set the server to listen on port 80
Set the root directory to /var/www/html
Set the default index file to index.html
Print the final configuration to verify
💡 Why This Matters
🌍 Real World
Nginx is widely used to serve websites and web applications. Knowing how to write a basic configuration is the first step to managing web servers.
💼 Career
Many DevOps and system administrator roles require configuring Nginx to host websites, reverse proxy, or load balance traffic.
Progress0 / 4 steps
1
Create the server block skeleton
Write the basic server block with opening and closing braces in the Nginx configuration file.
Nginx
Hint
Start by typing server { and then close it with }.
2
Add listening port and root directory
Inside the server block, add a line to listen on port 80 and a line to set the root directory to /var/www/html.
Nginx
Hint
Use listen 80; and root /var/www/html; inside the server block.
3
Set the default index file
Inside the server block, add a line to set the default index file to index.html.
Nginx
Hint
Use index index.html; to specify the default file.
4
Print the final configuration
Print the complete Nginx configuration stored in the variable nginx_config.
Nginx
Hint
Use print(nginx_config) to display the configuration.
Practice
(1/5)
1. What is the purpose of the server block in an Nginx configuration?
easy
A. To start the Nginx service
B. To define settings for a specific website or domain
C. To specify the operating system
D. To install Nginx modules
Solution
Step 1: Understand Nginx configuration structure
Nginx uses server blocks to group settings for each website or domain it serves.
Step 2: Identify the role of server block
The server block tells Nginx how to handle requests for a particular site, including ports and root folder.
Final Answer:
To define settings for a specific website or domain -> Option B
Quick Check:
server block = website settings [OK]
Hint: Remember: server block = one website config [OK]
Common Mistakes:
Confusing server block with service start command
Thinking server block installs software
Mixing server block with OS settings
2. Which of the following is the correct syntax to listen on port 80 in an Nginx server block?
easy
A. listen: 80
B. listen = 80;
C. listen 80;
D. port 80;
Solution
Step 1: Recall Nginx directive syntax
Nginx directives end with a semicolon and use space-separated key and value.
Step 2: Check the correct listen syntax
The correct way to specify port 80 is listen 80; without equals or colon.
Final Answer:
listen 80; -> Option C
Quick Check:
listen 80; = correct syntax [OK]
Hint: Nginx directives end with semicolon, no equals sign [OK]
Common Mistakes:
Using equals sign (=) in directives
Using colon (:) instead of space
Omitting semicolon at end
3. Given this Nginx configuration snippet, what is the root folder for the website?
server {
listen 80;
root /var/www/html;
index index.html;
}
medium
A. /home/user
B. /etc/nginx
C. /usr/share/nginx
D. /var/www/html
Solution
Step 1: Locate the root directive
The root directive sets the folder where website files are served from.
Step 2: Read the root path value
Here, root /var/www/html; means the website files are in /var/www/html.
Final Answer:
/var/www/html -> Option D
Quick Check:
root folder = /var/www/html [OK]
Hint: Look for root directive to find website folder [OK]
Common Mistakes:
Confusing root with index directive
Assuming default folder without checking config
Mixing root with Nginx installation folders
4. Identify the error in this Nginx configuration snippet:
server {
listen 80
root /var/www/html;
index index.html;
}
medium
A. Missing semicolon after listen 80
B. Wrong root path
C. index directive should be index.htm
D. listen directive should be inside location block
Solution
Step 1: Check syntax of each directive
Each directive must end with a semicolon in Nginx configuration.
Step 2: Identify missing semicolon
The line listen 80 is missing a semicolon at the end.
Final Answer:
Missing semicolon after listen 80 -> Option A
Quick Check:
Every directive ends with ; [OK]
Hint: Check every line ends with semicolon [OK]
Common Mistakes:
Forgetting semicolon after directives
Placing listen inside location block incorrectly
Changing root path without reason
5. You want to serve a website on port 8080 with files located in /home/user/site and the main page named home.html. Which Nginx server block is correct?
hard
A. server {
listen 8080;
root /home/user/site;
index home.html;
}
B. server {
listen 80;
root /home/user/site;
index home.html;
}
C. server {
listen 8080;
root /var/www/html;
index index.html;
}
D. server {
listen 8080;
root /home/user/site;
index index.html;
}
Solution
Step 1: Match the listen port
The question requires port 8080, so listen 8080; is needed.
Step 2: Match root and index directives
Root must be /home/user/site and index must be home.html as given.
Final Answer:
server {
listen 8080;
root /home/user/site;
index home.html;
} -> Option A
Quick Check:
Port 8080 + correct root + correct index = server {
listen 8080;
root /home/user/site;
index home.html;
} [OK]
Hint: Match all three: listen, root, index exactly [OK]