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 does the root directive do in an nginx configuration?
The root directive sets the directory path where nginx looks for files to serve for a given location or server block.
Click to reveal answer
beginner
Where can the root directive be used in nginx configuration?
It can be used inside the http, server, or location blocks to specify the root directory for serving files.
Click to reveal answer
intermediate
How does nginx combine the root directive path with the request URI?
Nginx appends the request URI to the path set by the root directive to find the file to serve.
Click to reveal answer
intermediate
What happens if the root directive is set in both server and location blocks?
The root directive in the location block overrides the one in the server block for that location.
Click to reveal answer
beginner
Example: How to set the root directory to /var/www/html for a server in nginx?
Inside the server block, add:
root /var/www/html;
Click to reveal answer
What does the nginx root directive specify?
AThe directory where nginx looks for files to serve
BThe IP address of the server
CThe port number nginx listens on
DThe logging level for nginx
✗ Incorrect
The root directive tells nginx the folder path to find files for requests.
If root is set in both server and location blocks, which one is used for that location?
AThe one in the <code>server</code> block
BThe one in the <code>location</code> block
CBoth are combined
DNginx throws an error
✗ Incorrect
The location block's root overrides the server block's root for that location.
How does nginx find the file to serve when a request comes in?
AIt only uses the request URI
BIt uses the <code>root</code> path only
CIt uses the <code>root</code> path plus the request URI
DIt randomly selects a file
✗ Incorrect
Nginx appends the request URI to the root directory path to locate the file.
Where can the root directive NOT be used?
AInside <code>http</code> block
BInside <code>server</code> block
CInside <code>location</code> block
DInside <code>events</code> block
✗ Incorrect
The root directive is not valid inside the events block.
What is the correct syntax to set the root directory to /usr/share/nginx/html?
Aroot /usr/share/nginx/html;
Bset root /usr/share/nginx/html;
Croot = /usr/share/nginx/html;
Droot: /usr/share/nginx/html;
✗ Incorrect
The correct syntax is root /usr/share/nginx/html; without equals sign or colon.
Explain how the nginx root directive works and where it can be used.
Think about how nginx finds files to serve for web requests.
You got /3 concepts.
Describe what happens when root is set in both server and location blocks in nginx.
Consider configuration precedence in nginx.
You got /3 concepts.
Practice
(1/5)
1. What does the root directive do in an nginx configuration?
easy
A. It sets the maximum number of client connections.
B. It defines the server's IP address.
C. It specifies the port number nginx listens on.
D. It sets the folder where nginx looks for files to serve.
Solution
Step 1: Understand the purpose of the root directive
The root directive tells nginx which folder to use as the base path for serving files.
Step 2: Compare with other options
Other options like IP address, port, or client limits are set by different directives, not root.
Final Answer:
It sets the folder where nginx looks for files to serve. -> Option D
Quick Check:
root = folder path for files [OK]
Hint: Root sets the base folder for files nginx serves [OK]
Common Mistakes:
Confusing root with listen directive
Thinking root sets server IP or port
Assuming root controls client limits
2. Which of the following is the correct syntax to set the root directory to /var/www/html inside a location block?
easy
A. root = /var/www/html;
B. root /var/www/html;
C. root: /var/www/html;
D. root /var/www/html
Solution
Step 1: Recall nginx directive syntax
Directives use the format: directive_name value; without equals or colons.
Step 2: Check each option
root /var/www/html; uses correct syntax: root /var/www/html;. Options A and C use invalid symbols, D misses the semicolon.
Final Answer:
root /var/www/html; -> Option B
Quick Check:
Correct syntax = root path followed by semicolon [OK]
Hint: No equals sign or colon; end with semicolon [OK]
Common Mistakes:
Using equals sign (=) after root
Omitting semicolon at end
Using colon (:) instead of space
3. Given this nginx config snippet inside a server block:
location /images/ {
root /var/www/data;
}
If a client requests /images/pic.jpg, which file path will nginx try to serve?
medium
A. /var/www/data/images/pic.jpg
B. /var/www/data/pic.jpg
C. /images/pic.jpg
D. /var/www/html/images/pic.jpg
Solution
Step 1: Understand root with location
The root directive appends the full request URI to the root path.
Step 2: Combine root and request URI
Request URI is /images/pic.jpg. Root is /var/www/data. So nginx looks for /var/www/data/images/pic.jpg.
Final Answer:
/var/www/data/images/pic.jpg -> Option A
Quick Check:
root + full URI = file path [OK]
Hint: Root + full URI = file path nginx serves [OK]
Common Mistakes:
Assuming root replaces location prefix
Ignoring location path in file path
Confusing root with alias directive
4. You set root /var/www/html; inside a location /static/ block, but requests to /static/style.css return 404 errors. What is the most likely cause?
medium
A. The root path is incorrect or missing the /static/ folder.
B. You forgot to restart nginx after changing the config.
C. The location block should use alias instead of root.
D. The file style.css is not readable by nginx.
Solution
Step 1: Understand root with location prefix
Root appends the full URI, so nginx looks for /var/www/html/static/style.css.
Step 2: Check folder structure
If the actual files are in /var/www/html without the static subfolder, nginx won't find them, causing 404.
Final Answer:
The root path is incorrect or missing the /static/ folder. -> Option A
Quick Check:
Root + URI must match actual file path [OK]
Hint: Root must include location path or use alias [OK]
Common Mistakes:
Not matching root path to location URI
Assuming config reload fixes path errors
Confusing root and alias usage
5. You want nginx to serve files from /srv/www/site when users request /files/, but without including /files/ in the file path. Which configuration correctly achieves this?
hard
A. location /files/ {
root /srv/www/site;
}
B. location /files/ {
alias /srv/www/site/files;
}
C. location /files/ {
alias /srv/www/site/;
}
D. location /files/ {
root /srv/www/site/files;
}
Solution
Step 1: Understand root vs alias behavior
Root appends full URI to path, alias replaces location prefix with given path.
Step 2: Match requirement to config
To serve files from /srv/www/site without /files/ in path, alias must be used.
Final Answer:
location /files/ {
alias /srv/www/site/;
} -> Option C
Quick Check:
Use alias to strip location prefix from file path [OK]
Hint: Use alias to avoid adding location prefix to path [OK]