Bird
Raised Fist0
Nginxdevops~5 mins

Server block structure in Nginx - Cheat Sheet & Quick Revision

Choose your learning style10 modes available
Recall & Review
beginner
What is a server block in nginx?
A server block is a configuration section in nginx that defines how to handle requests for a specific domain or IP address. It tells nginx what to do when it receives a request for that server.
Click to reveal answer
beginner
Which directive defines the domain or IP address nginx listens to in a server block?
The server_name directive specifies the domain names or IP addresses that the server block will respond to.
Click to reveal answer
beginner
What is the purpose of the listen directive in a server block?
The listen directive tells nginx which IP address and port to listen on for incoming requests.
Click to reveal answer
beginner
How do you specify the folder where nginx should look for website files in a server block?
You use the root directive inside the server block or inside a location block to specify the folder path where the website files are stored.
Click to reveal answer
intermediate
What is the role of the location block inside a server block?
A location block defines how nginx should process requests for specific paths or URLs within the server block. It can control routing, proxying, or serving files.
Click to reveal answer
Which directive in an nginx server block specifies the domain names it should respond to?
Aserver_name
Blisten
Croot
Dlocation
What does the listen 80; directive do inside a server block?
ADefines the root folder for website files
BRedirects traffic to HTTPS
CSpecifies the domain name
DSets nginx to listen on port 80 for incoming requests
Where do you specify the folder path for website files in nginx?
AInside the <code>listen</code> directive
BInside the <code>root</code> directive
CInside the <code>server_name</code> directive
DInside the <code>error_page</code> directive
What is the purpose of a location block inside a server block?
ATo define how to handle requests for specific URL paths
BTo specify the server's IP address
CTo set the server's listening port
DTo define the server's domain name
Which of the following is NOT part of a typical nginx server block?
Aserver_name
Blisten
Cgit clone
Droot
Describe the main parts of an nginx server block and their roles.
Think about how nginx knows what domain to serve, where to listen, and where to find files.
You got /4 concepts.
    Explain how nginx uses the location block inside a server block to handle requests.
    Consider how different URLs might need different handling.
    You got /4 concepts.

      Practice

      (1/5)
      1. What is the main purpose of a server block in an Nginx configuration?
      easy
      A. To define how Nginx handles requests for a specific website or domain
      B. To set the operating system user for Nginx processes
      C. To configure the firewall rules for Nginx
      D. To specify the database connection details

      Solution

      1. Step 1: Understand the role of server blocks

        A server block tells Nginx how to respond to requests for a particular domain or site.
      2. Step 2: Compare options with server block purpose

        Only To define how Nginx handles requests for a specific website or domain describes handling requests for a website, which matches the server block's role.
      3. Final Answer:

        To define how Nginx handles requests for a specific website or domain -> Option A
      4. Quick Check:

        Server block = website request handling [OK]
      Hint: Server blocks map domains to settings in Nginx [OK]
      Common Mistakes:
      • Confusing server block with user or firewall settings
      • Thinking server block manages database connections
      • Mixing server block with global Nginx settings
      2. Which of the following is the correct syntax to start a server block in Nginx?
      easy
      A. server {
      B. block server {
      C. site {
      D. server-block {

      Solution

      1. Step 1: Recall Nginx server block syntax

        The correct syntax to start a server block is the keyword server followed by curly braces.
      2. Step 2: Check each option

        Only server { uses the exact keyword server with braces, which is valid syntax.
      3. Final Answer:

        server { -> Option A
      4. Quick Check:

        Server block starts with 'server {' [OK]
      Hint: Server blocks always start with 'server {' [OK]
      Common Mistakes:
      • Using incorrect keywords like 'block' or 'site'
      • Adding extra hyphens or misspelling 'server'
      • Omitting the opening brace
      3. Given this server block snippet, what port will Nginx listen on?
      server {
          listen 8080;
          server_name example.com;
      }
      medium
      A. 443
      B. 8080
      C. 80
      D. None, it will cause an error

      Solution

      1. Step 1: Identify the listen directive

        The line listen 8080; tells Nginx to listen on port 8080.
      2. Step 2: Understand default ports

        Since port 8080 is explicitly set, Nginx will listen on 8080, not the default 80 or 443.
      3. Final Answer:

        8080 -> Option B
      4. Quick Check:

        listen port = 8080 [OK]
      Hint: Check the listen directive for port number [OK]
      Common Mistakes:
      • Assuming default port 80 without checking listen
      • Confusing port 443 (HTTPS) with 8080
      • Thinking missing listen causes error (it defaults to 80)
      4. Identify the error in this server block configuration:
      server {
          listen 80
          server_name mysite.com;
      }
      medium
      A. listen directive should be 'listen port 80;'
      B. server_name directive is incorrect
      C. Curly braces are missing
      D. Missing semicolon after listen directive

      Solution

      1. Step 1: Check syntax of directives

        Each directive in Nginx must end with a semicolon. The listen 80 line is missing a semicolon.
      2. Step 2: Verify other parts

        The server_name directive and braces are correct. The listen directive syntax does not require the word 'port'.
      3. Final Answer:

        Missing semicolon after listen directive -> Option D
      4. Quick Check:

        Directives end with ';' [OK]
      Hint: Every directive line ends with a semicolon [OK]
      Common Mistakes:
      • Forgetting semicolons after directives
      • Adding unnecessary words like 'port' in listen
      • Misplacing or missing braces
      5. You want to serve two websites on the same Nginx server: site1.com on port 80 and site2.com on port 8080. Which configuration correctly sets up the server blocks?
      hard
      A. server { listen 80 8080; server_name site1.com site2.com; }
      B. server { listen 80; server_name site1.com site2.com; }
      C. server { listen 80; server_name site1.com; } server { listen 8080; server_name site2.com; }
      D. server { listen 80; server_name site1.com; listen 8080; server_name site2.com; }

      Solution

      1. Step 1: Understand separate server blocks for different ports

        Each site on a different port needs its own server block with its own listen and server_name directives.
      2. Step 2: Analyze each option

        server { listen 80; server_name site1.com; } server { listen 8080; server_name site2.com; } correctly defines two separate server blocks, one for port 80 and site1.com, another for port 8080 and site2.com. Other options either combine ports or server_names incorrectly.
      3. Final Answer:

        Separate server blocks for each site and port -> Option C
      4. Quick Check:

        One server block per port/site [OK]
      Hint: Use separate server blocks for different ports/sites [OK]
      Common Mistakes:
      • Combining multiple ports in one listen directive incorrectly
      • Listing multiple server_names in one block for different ports
      • Trying to put two listen directives in one server block for different sites
      Recommended

      Ready to prove it?

      Pass the test and this pattern moves unknown strong while earning +1 Grip toward your certificate.

      10 questions~5 mineasy hard