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
Recall & Review
beginner
What is the main configuration file for Nginx?
The main configuration file for Nginx is nginx.conf. It controls how Nginx behaves and serves content.
Click to reveal answer
beginner
What directive defines the port Nginx listens on?
The listen directive inside a server block sets the port Nginx listens on, for example, listen 80; for HTTP.
Click to reveal answer
beginner
What is a server block in Nginx configuration?
A server block defines a virtual server. It groups settings like domain names, ports, and root folders for serving websites.
Click to reveal answer
beginner
How do you specify the folder where Nginx serves files from?
Use the root directive inside a server or location block to set the folder path, e.g., root /var/www/html;.
Click to reveal answer
beginner
What command reloads Nginx after changing its configuration?
Run sudo nginx -s reload to reload Nginx and apply configuration changes without stopping the server.
Click to reveal answer
Which directive sets the port Nginx listens on?
Aroot
Bserver_name
Clisten
Dlocation
✗ Incorrect
The listen directive tells Nginx which port to listen on.
Where do you define the domain names Nginx should respond to?
Aserver_name
Blisten
Croot
Dindex
✗ Incorrect
The server_name directive lists domain names Nginx will serve.
What is the purpose of the root directive?
ASet the folder to serve files from
BSet the port number
CDefine server domain
DReload Nginx
✗ Incorrect
The root directive tells Nginx where to find the website files.
Which command reloads Nginx configuration without stopping the server?
Asudo nginx -s stop
Bsudo nginx -s reload
Csudo nginx -s start
Dsudo nginx -s restart
✗ Incorrect
The reload signal applies config changes without downtime.
What block groups settings like domain, port, and root folder in Nginx?
Aevents
Blocation
Chttp
Dserver
✗ Incorrect
The server block defines a virtual server with its settings.
Describe the basic structure of a first Nginx configuration to serve a website on port 80.
Think about how to tell Nginx what port, domain, and folder to use.
You got /5 concepts.
Explain how to apply changes after editing the Nginx configuration file.
What command lets Nginx use new settings without stopping?
You got /3 concepts.
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]