search
HomeOperation and MaintenanceNginxAdvanced Nginx Configuration: Mastering Server Blocks & Reverse Proxy

Advanced Nginx Configuration: Mastering Server Blocks & Reverse Proxy

Apr 06, 2025 am 12:05 AM
reverse proxynginx configuration

The advanced configuration of Nginx can be implemented through server blocks and reverse proxy: 1. Server blocks allow multiple websites to be run in one instance, each block is configured independently. 2. The reverse proxy forwards the request to the backend server to realize load balancing and cache acceleration.

Advanced Nginx Configuration: Mastering Server Blocks & Reverse Proxy

introduction

In the ocean of the Internet, Nginx is undoubtedly the indestructible battleship. It is loved by developers and operation staff for its high performance and flexibility. However, how can we truly navigate this warship and achieve its maximum potential? This article will take you into the deeper discussion of Nginx's advanced configuration skills, especially the applications of Server Blocks and Reverse Proxy. By reading this article, you will learn how to configure Nginx in a refined way so that it can be easily eased in complex network environments.

The basic concept of Nginx

As a high-performance HTTP server and reverse proxy server, Nginx is its event-driven, asynchronous and non-blocking processing mechanism. This makes Nginx particularly good at handling high concurrent requests. Server Blocks is a key concept in Nginx configuration, which allows multiple server configurations to be defined in one Nginx instance, thereby implementing the virtual hosting function of a domain name or IP address. Reverse proxy is a technology that forwards client requests to the backend server through Nginx, which is often used for load balancing and cache acceleration.

For example, a simple Nginx configuration might look like this:

 http {
    server {
        listen 80;
        server_name example.com;
        location / {
            root /var/www/example.com;
            index index.html;
        }
    }
}

This code defines a server that listens to port 80, responds to requests for the example.com domain name, and points the root directory of the request to /var/www/example.com .

In-depth analysis of Server Blocks

Server blocks are the core part of Nginx configuration, which allows you to run multiple websites or services in the same Nginx instance. Each server block can independently configure the listening port, domain name, log file, etc. to achieve high flexibility.

Definition and function

The definition of a server block is very simple, but its function is very powerful. It allows you to run multiple websites or services in one Nginx instance, each with its own configuration without interfering with each other. This is a very useful feature for server administrators hosting multiple websites.

For example, you can define two different server blocks like this:

 http {
    server {
        listen 80;
        server_name example1.com;
        location / {
            root /var/www/example1.com;
            index index.html;
        }
    }

    server {
        listen 80;
        server_name example2.com;
        location / {
            root /var/www/example2.com;
            index index.html;
        }
    }
}

How it works

When Nginx receives a request, it first checks the request's Host header and then matches the appropriate server block according to the server_name directive. If no server block is matched, Nginx will use the default server block for processing. This needs special attention when configuring, as it can lead to unexpected behavior.

The essence of Reverse Proxy

Reverse proxy is another powerful feature of Nginx. It can forward client requests to the backend server, thereby realizing load balancing, cache acceleration and other functions.

Definition and function

The definition of a reverse proxy is to forward client requests to the backend server via Nginx. Its function is that it can hide the real IP address of the backend server, provide additional security, and also achieve load balancing and improve system reliability and performance.

For example, a simple reverse proxy configuration might look like this:

 http {
    upstream backend {
        server localhost:8080;
        server localhost:8081;
    }

    server {
        listen 80;
        server_name example.com;
        location / {
            proxy_pass http://backend;
            proxy_set_header Host $host;
            proxy_set_header X-Real-IP $remote_addr;
        }
    }
}

This code defines an upstream server group called backend , contains two backend servers, and then forwards all requests to this server group.

How it works

When Nginx acts as a reverse proxy, it receives requests from the client and then forwards the requests to the backend server based on configuration. Nginx can select back-end servers according to different load balancing algorithms (such as polling, minimal connection, etc.), thereby achieving efficient request distribution.

Example of usage

Basic usage

Let's start with a simple server block configuration:

 http {
    server {
        listen 80;
        server_name example.com;
        location / {
            root /var/www/example.com;
            index index.html;
        }
    }
}

This code defines a server that listens to port 80, responds to requests for the example.com domain name, and points the root directory of the request to /var/www/example.com .

Advanced Usage

Now let's look at a more complex configuration that combines server blocks and reverse proxy:

 http {
    upstream backend {
        server localhost:8080;
        server localhost:8081;
    }

    server {
        listen 80;
        server_name example.com;
        location / {
            proxy_pass http://backend;
            proxy_set_header Host $host;
            proxy_set_header X-Real-IP $remote_addr;
        }
    }

    server {
        listen 80;
        server_name api.example.com;
        location / {
            proxy_pass http://backend;
            proxy_set_header Host $host;
            proxy_set_header X-Real-IP $remote_addr;
        }
    }
}

This code defines two server blocks, one for example.com and the other for api.example.com. Both use the same backend server group backend , but can be configured differently as needed.

Common Errors and Debugging Tips

Common errors when configuring Nginx include:

  • Configuration file syntax error: Use nginx -t command to check the syntax of the configuration file.
  • Server block matching problem: Make sure your server_name is configured correctly, otherwise the request may be processed incorrectly.
  • Reverse proxy configuration error: Make sure that proxy_pass directive points to the correct upstream server group and that the necessary header information is set.

Performance optimization and best practices

In practical applications, how to optimize Nginx configuration for optimal performance? Here are some suggestions:

  • Using Cache: Nginx supports cache static content, which can significantly improve response speed.
  • Adjust the number of worker processes: Adjust the worker_processes instruction according to the number of CPU cores of the server, which can improve concurrent processing capabilities.
  • Enable Gzip compression: By enabling Gzip compression, you can reduce the amount of data transmitted and increase the transmission speed.

For example, the following is an optimized Nginx configuration example:

 http {
    gzip on;
    gzip_vary on;
    gzip_proxied any;
    gzip_comp_level 6;
    gzip_types text/plain text/css application/json application/javascript text/xml application/xml application/xml rss text/javascript;

    proxy_cache_path /var/cache/nginx levels=1:2 keys_zone=STATIC:10m inactive=24h max_size=1g;

    server {
        listen 80;
        server_name example.com;
        location / {
            root /var/www/example.com;
            index index.html;
            try_files $uri $uri/ =404;
        }

        location ~* \.(jpg|jpeg|png|gif|ico|css|js)$ {
            expires 1y;
            log_not_found off;
            add_header Cache-Control "public, no-transform";
            proxy_cache STATIC;
            proxy_cache_valid 200 1d;
            proxy_cache_use_stale error timeout invalid_header updating http_500 http_502 http_503 http_504;
        }
    }
}

This code enables Gzip compression, sets up static file caching, and adjusts cache policies to improve Nginx performance.

Summarize

Through this article, you should have mastered the essence of advanced Nginx configuration, especially the application of server blocks and reverse proxy. Whether you are a beginner or an experienced operation and maintenance person, these tips will help you better manage and optimize your Nginx servers. Remember, Nginx configuration is an art that requires constant practice and optimization to truly exert its powerful functions.

The above is the detailed content of Advanced Nginx Configuration: Mastering Server Blocks & Reverse Proxy. For more information, please follow other related articles on the PHP Chinese website!

Statement
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn
Lei Jun shares his New Year's wishes: deliver 300,000 cars and 100 check-in times in the gymLei Jun shares his New Year's wishes: deliver 300,000 cars and 100 check-in times in the gymApr 13, 2025 pm 11:54 PM

At the beginning of the new year, Lei Jun shared three New Year's wishes for 2025 at the beginning of the new year, and this four and a half hours-long live broadcast attracted a lot of attention. Lei Jun’s three major wishes are: First, achieve the delivery target of 300,000 vehicles, alleviate the pressure, and no longer be caught up by progress. Second, have more travel time, enjoy the beautiful scenery from all over the world, taste special food, and conduct car testing in combination with work. Third, stick to fitness and plan to check in 100 times in the gym to strengthen your body. Lei Jun admitted in the live broadcast that he traveled around in 2024, with a compact schedule, so he often only stayed for a short time, making it difficult to experience the local culture in depth. For example, at the New North Speedway in Germany, he stayed for only 8 hours. Therefore, in the new year, he hopes to be able to better balance work and life and travel

Annual reputation masterpiece! No.9 Company's micro-film 'Memory Travel' won many authoritative awardsAnnual reputation masterpiece! No.9 Company's micro-film 'Memory Travel' won many authoritative awardsApr 13, 2025 pm 11:51 PM

The micro-film "Memory Travel" created by No. 9 and brand spokesperson Yi Yang Qianxi won several authoritative media awards in 2024 and became a masterpiece of the year. This work has won high praise from the industry for its unique narrative style, exquisite production and sincere emotions. 2024 Awards and Honors: 2024 Gold Touch Global Business Innovation Award - Annual Film and Television Advertising 2024 China Advertising Marketing Award - Entertainment Marketing Group Silver Award 2024 Top Digital Innovation Marketing Award - Film and Television Production Gold Award 2024 Shanghai International Advertising Festival - Microfilm Silver Award 2024 The 11th China Innovation Communication Award - Integrated Marketing Silver Award WISE 2024 King of Business - Annual Case 31st China International Advertising Festival 2024 Digital Marketing Practical Big

Lead innovation and win another honor! AGON won the PConline2024 Zhizhen Technology AwardLead innovation and win another honor! AGON won the PConline2024 Zhizhen Technology AwardApr 13, 2025 pm 11:48 PM

Recently, the PConline2024 Zhizhen Technology Award was officially announced, and AGON Aidong QD-OLED e-sports display AG326UD won the "Technical Innovation of the Year" award. This honor not only represents the industry's high recognition of its technological advantages and market performance, but also fully reflects AGON's innovative capabilities and outstanding achievements in the field of e-sports display technology. 01. Looking at the future of technology, the authoritative value of the PConline Zhizhen Technology Award is the weather vane of the technology industry. The PConline Zhizhen Technology Award has successfully won wide industry recognition with its rigorous evaluation system and in-depth industry analysis. The award has always been committed to commending outstanding products and brands that promote the development of the technology industry, covering technology

Sony confirms the possibility of using special GPUs on PS5 Pro to develop AI with AMDSony confirms the possibility of using special GPUs on PS5 Pro to develop AI with AMDApr 13, 2025 pm 11:45 PM

Mark Cerny, chief architect of SonyInteractiveEntertainment (SIE, Sony Interactive Entertainment), has released more hardware details of next-generation host PlayStation5Pro (PS5Pro), including a performance upgraded AMDRDNA2.x architecture GPU, and a machine learning/artificial intelligence program code-named "Amethylst" with AMD. The focus of PS5Pro performance improvement is still on three pillars, including a more powerful GPU, advanced ray tracing and AI-powered PSSR super-resolution function. GPU adopts a customized AMDRDNA2 architecture, which Sony named RDNA2.x, and it has some RDNA3 architecture.

Finally changed! Microsoft Windows search function will usher in a new updateFinally changed! Microsoft Windows search function will usher in a new updateApr 13, 2025 pm 11:42 PM

Microsoft's improvements to Windows search functions have been tested on some Windows Insider channels in the EU. Previously, the integrated Windows search function was criticized by users and had poor experience. This update splits the search function into two parts: local search and Bing-based web search to improve user experience. The new version of the search interface performs local file search by default. If you need to search online, you need to click the "Microsoft BingWebSearch" tab to switch. After switching, the search bar will display "Microsoft BingWebSearch:", where users can enter keywords. This move effectively avoids the mixing of local search results with Bing search results

Grilled skillfully! Monster Hunter launches 20th anniversary barbecue timer and kettleGrilled skillfully! Monster Hunter launches 20th anniversary barbecue timer and kettleApr 13, 2025 pm 11:39 PM

To celebrate the 20th anniversary of Capcom's "Monster Hunter" series, Baodao Club launched a unique magazine set - "Monster Hunter" themed barbecue timer and accompanying cup. The set will be available at home convenience stores nationwide in Japan on December 27, and will be priced at 3,498 yen. The biggest highlight of this magazine set is its interactive barbecue timer, which perfectly replicates the classic barbecue scenes in the series of games. The timer is designed with an old version of the barbecue tool, equipped with LED flame light effects and game BGM, allowing you to experience the fun of hunting during the actual barbecue process. The rotating handle simulates flipped barbecue. After successfully baking, the voice prompt of "Baked!" will be played. The timer size is about 9.5cm (height) x 10.7cm (width) x 8cm (deep), built-in L

I understand users very much! Xiaomi SU7 owners can get Are U OK valve core cap for freeI understand users very much! Xiaomi SU7 owners can get Are U OK valve core cap for freeApr 13, 2025 pm 11:36 PM

Xiaomi Auto’s first anniversary celebration will give car owners a New Year gift! After the delivery volume exceeded 130,000 vehicles last year, Xiaomi Auto’s official Weibo announced that it will give Lei Jun’s classic quotation “AreyouOK?” to every Xiaomi SU7 owner and prospective owner. The number is limited and free to receive it! Activity time: 4 pm on December 28, 2024 to 23:59:59 on January 20, 2025. Users who purchase a car or complete an order before 23:59:59 on December 31, 2024 can get a set of four-piece "AreyouOK?" valve core caps for free. This valve core cap was first released in September this year and is made of bright yellow PVC and brass material. The brass core is directly embedded to ensure safe driving and not easy to fall off. Widely used,

The HDMI 2.2 standard is expected to be announced on the eve of 2025! 8K resolution is coming soonThe HDMI 2.2 standard is expected to be announced on the eve of 2025! 8K resolution is coming soonApr 13, 2025 pm 11:33 PM

It is reported that the HDMI2.2 standard is expected to be officially released on the eve of the 2025 CES exhibition. HDMIForum plans to announce this new generation of video signal transmission protocol specifications on January 6. The HDMI2.1 standard released in 2017 has a maximum bandwidth of 48Gbps, supports 4K144Hz and 8K30Hz video transmission, and can be up to 10K120Hz with DSC technology. HDMI2.2 is expected to significantly increase bandwidth, support higher resolution and refresh rate, and adopt new wires. Although the specific specifications have not been disclosed yet, HDMI2.2 will inevitably surpass the 48Gbps bandwidth and 10240*4320 resolution limit of HDMI2.1. Given that DisplayPort2.1 is at 20

See all articles

Hot AI Tools

Undresser.AI Undress

Undresser.AI Undress

AI-powered app for creating realistic nude photos

AI Clothes Remover

AI Clothes Remover

Online AI tool for removing clothes from photos.

Undress AI Tool

Undress AI Tool

Undress images for free

Clothoff.io

Clothoff.io

AI clothes remover

AI Hentai Generator

AI Hentai Generator

Generate AI Hentai for free.

Hot Article

R.E.P.O. Energy Crystals Explained and What They Do (Yellow Crystal)
3 weeks agoBy尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Best Graphic Settings
3 weeks agoBy尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. How to Fix Audio if You Can't Hear Anyone
3 weeks agoBy尊渡假赌尊渡假赌尊渡假赌
WWE 2K25: How To Unlock Everything In MyRise
4 weeks agoBy尊渡假赌尊渡假赌尊渡假赌

Hot Tools

PhpStorm Mac version

PhpStorm Mac version

The latest (2018.2.1) professional PHP integrated development tool

Zend Studio 13.0.1

Zend Studio 13.0.1

Powerful PHP integrated development environment

SAP NetWeaver Server Adapter for Eclipse

SAP NetWeaver Server Adapter for Eclipse

Integrate Eclipse with SAP NetWeaver application server.

SublimeText3 Mac version

SublimeText3 Mac version

God-level code editing software (SublimeText3)

VSCode Windows 64-bit Download

VSCode Windows 64-bit Download

A free and powerful IDE editor launched by Microsoft