Jadual Kandungan
Senario aplikasi utama Nginx
Penyerahan laman web statik
Pengimbangan beban
3.负载均衡器
4.缓存服务器
5.反向代理服务器
6.WebSocket服务器
Rumah Operasi dan penyelenggaraan Nginx Apakah senario aplikasi utama dalam Nginx?

Apakah senario aplikasi utama dalam Nginx?

May 16, 2023 pm 02:55 PM
nginx

    Senario aplikasi utama Nginx

    Penyerahan laman web statik

    nginx ialah pelayan web http yang boleh menyimpan fail statik pada pelayan ( html, css, gambar) dikembalikan kepada klien pelayar melalui protokol HTTP.

    Contoh: Kami menggunakan sumber statik index.html pada pelayan

    Apakah senario aplikasi utama dalam Nginx?

    Muat naik index.html ke linux /opt/www/test

    Apakah senario aplikasi utama dalam Nginx?

    Ubah suai nginx.conf dan tambah lokasi untuk memintas permintaan untuk /test. Laluan /opt/www yang sepadan dengan root mewakili laluan root, iaitu /slash di hadapan /test

    location /test {
                root   /opt/www;
                index  index.html;
            }
    Salin selepas log masuk

    Mulakan nginx atau muat semula nginx

    Apakah senario aplikasi utama dalam Nginx?

    Jom layari: http://192.168.253.130/test/

    Apakah senario aplikasi utama dalam Nginx?

    Pengimbangan beban

    Pengimbangan beban boleh dibahagikan kepada pengimbangan beban perkakasan dan pengimbangan beban perisian

    Pengimbangan beban perkakasan, seperti F5, Sangfor, Array, dsb., mempunyai kelebihan disokong oleh pasukan profesional pengilang Prestasi stabil; kelemahan adalah mahal

    Pengimbangan beban perisian, seperti Nginx, LVS, HAProxy, dll., kelebihan adalah sumber terbuka percuma, kos rendah

    Kaedah pengundian: peruntukkan permintaan secara bergilir-gilir Pada pelayan bahagian belakang, ia melayan setiap pelayan bahagian belakang secara sama rata, tanpa mengira bilangan sambungan sebenar ke pelayan dan beban sistem semasa.

    http {
        upstream test{
        ##后端实际服务器 nginx在轮询访问以下几台服务器
            server 10.100.30.1:8080;
            server 10.100.30.2:8080;
            server 10.100.30.3:8080;
            server 10.100.30.4:8080;
        }
        server {
        ##前端拦截入口
            listen 80;
            server_name www.test.com;
            location / { 
                proxy_pass http://test;
            }
        }
    }
    Salin selepas log masuk

    Kaedah undian berwajaran: Pelayan bahagian belakang yang berbeza mungkin mempunyai konfigurasi mesin yang berbeza dan beban sistem semasa, jadi rintangan tekanannya juga berbeza.

    Tetapkan pemberat yang lebih tinggi kepada mesin dengan konfigurasi tinggi dan beban rendah untuk membolehkan mereka mengendalikan lebih banyak permintaan; dan tetapkan pemberat yang lebih rendah kepada mesin dengan konfigurasi rendah dan beban tinggi untuk mengurangkan beban sistem mereka menangani masalah ini dengan baik dan mengedarkan permintaan ke bahagian belakang mengikut susunan dan mengikut berat.

    http {
        upstream test{
        ##后端实际服务器 nginx在轮询访问以下几台服务器
            server 10.100.30.1:8080 weight=1;
            server 10.100.30.2:8080 weight=3;
            server 10.100.30.3:8080 weight=1;
            server 10.100.30.4:8080 weight=1;
        }
        server {
        ##前端拦截入口
            listen 80;
            server_name www.test.com;
            location / { 
                proxy_pass http://test;
            }
        }
    }
    Salin selepas log masuk

    Kaedah pencincangan alamat sumber: Menurut alamat IP klien, nilai dikira melalui fungsi cincang, dan nilai digunakan untuk melaksanakan operasi modulo pada saiz senarai pelayan yang diperoleh adalah apa yang pelanggan inginkan Nombor siri untuk mengakses pelayan.

    Gunakan kaedah cincang alamat sumber untuk pengimbangan beban Pelanggan dengan alamat IP yang sama akan dipetakan ke pelayan bahagian belakang yang sama untuk akses setiap kali apabila senarai pelayan bahagian belakang kekal tidak berubah.

    upstream test{
            ip_hash;
            server 10.100.30.1:8080 weight=1;
            server 10.100.30.2:8080 weight=3;
            server 10.100.30.3:8080 weight=1;
            server 10.100.30.4:8080 weight=1;
        }
    Salin selepas log masuk

    Kaedah sambungan bilangan minimum: Memandangkan konfigurasi pelayan hujung belakang adalah berbeza, pemprosesan permintaan mungkin lebih pantas atau lebih perlahan Bilangan kaedah sambungan minimum secara dinamik memilih tunggakan semasa berdasarkan sambungan semasa status pelayan bahagian belakang Pelayan dengan bilangan sambungan yang paling sedikit akan mengendalikan permintaan semasa, meningkatkan kecekapan penggunaan perkhidmatan bahagian belakang sebanyak mungkin, dan mengagihkan tanggungjawab secara munasabah kepada setiap pelayan.

    upstream test{
            least_conn;
            server 10.100.30.1:8080;
            server 10.100.30.2:8080;
            server 10.100.30.3:8080;
            server 10.100.30.4:8080;
        }
    Salin selepas log masuk

    turun: Menunjukkan menghentikan perkhidmatan tertentu

    upstream test{
            server 10.100.30.1:8080 down;
            server 10.100.30.2:8080;
            server 10.100.30.3:8080;
            server 10.100.30.4:8080;
        }
    Salin selepas log masuk

    sandaran: Menentukan pelayan sandaran Dalam keadaan biasa, selagi pelayan lain boleh diakses secara normal, pelayan sandaran tidak akan diakses. hanya pelayan lain Pelayan siap sedia hanya akan digunakan apabila semua tidak berfungsi, jadi kaedah ini biasanya digunakan untuk melaksanakan penggunaan panas Kod dikemas kini ke pelayan siap sedia terlebih dahulu, dan kemudian pelayan biasa dihentikan selesai, pelayan siap sedia menunggu lagi, keseluruhan proses penggunaan membolehkan pengguna tidak mengalami masa henti.

    upstream test{
            server 10.100.30.1:8080 backup;
            server 10.100.30.2:8080 backup;
            server 10.100.30.3:8080;
            server 10.100.30.4:8080;
        }
    Salin selepas log masuk
    • Proksi statik

    • Pemisahan statik dan dinamik

    • <><🎜 🎜>
    • Hos maya

    Senario dan contoh penggunaan Nginx

    Nginx ialah pelayan HTTP berprestasi tinggi, konkurensi tinggi dan sebaliknya Pelayan proksi boleh digunakan dalam pelbagai senario seperti pelayan sumber statik, pengimbang beban, proksi terbalik, pelayan cache dan pelayan web.

    Berikut ialah beberapa senario dan contoh penggunaan:

    1 Pelayan sumber statik

    Apabila menggunakan Nginx sebagai pelayan sumber statik, Nginx akan mengembalikan fail yang diminta secara langsung. Kurangkan beban pada pelayan web. Senario ini biasanya digunakan untuk menyediakan muat turun fail statik atau akses kepada fail besar seperti video.

    Berikut ialah contoh konfigurasi Nginx:

    server {
        listen       80;
        server_name  example.com;
        location / {
            root   /usr/share/nginx/html;
            index  index.html index.htm;
        }
        location /images/ {
            alias /var/www/images/;
        }
        location /downloads/ {
            alias /var/www/downloads/;
        }
    }
    Salin selepas log masuk

    Dalam konfigurasi di atas, Nginx akan memetakan permintaan untuk mengakses direktori root (/) ke direktori /usr/share/nginx/html. Jika permintaan Jika fail yang diminta ialah fail dalam direktori /images/, Nginx akan memetakannya ke direktori /var/www/images/ Jika fail yang diminta ialah fail dalam direktori /downloads/, Nginx akan memetakannya ke direktori /var/www/downloads/.

    2. Proksi terbalik

    Apabila menggunakan Nginx sebagai pelayan proksi terbalik, Nginx akan memajukan permintaan ke pelayan web untuk diproses, dan kemudian mengembalikan hasil pemprosesan kepada klien.

    Senario ini biasanya digunakan untuk mencapai pengimbangan beban, meningkatkan keselamatan pelayan web, menyembunyikan IP sebenar pelayan web, dsb.

    Berikut ialah contoh konfigurasi Nginx:

    upstream backend {
        server backend1.example.com:8080 weight=3;
        server backend2.example.com:8080;
    }
    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;
        }
    }
    Salin selepas log masuk

    上述配置中,Nginx会将访问根目录(/)的请求转发给后端的Web服务器(backend1.example.com和backend2.example.com),其中backend1.example.com的权重为3,backend2.example.com的权重为1,表示backend1.example.com的处理能力更强。

    在转发请求时,Nginx还会设置HTTP头信息中的Host和X-Real-IP字段,从而隐藏Web服务器的真实IP。

    3.负载均衡器

    在使用Nginx作为负载均衡器时,Nginx会将请求均衡地分发到多个Web服务器上,从而实现高并发、高可用的服务。这种场景通常用于Web应用程序的集群部署、分布式系统的部署等。下面是一个示例Nginx配置:

    upstream backend {
        server backend1.example.com:8080;
        server backend2.example.com:8080;
        server backend3.example.com:8080;
    }
    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;
        }
    }
    Salin selepas log masuk

    上述配置中,Nginx会将请求均衡地分发到三个Web服务器(backend1.example.com、backend2.example.com和backend3.example.com)上,从而实现负载均衡。

    在转发请求时,Nginx还会设置HTTP头信息中的Host和X-Real-IP字段,从而隐藏Web服务器的真实IP。

    4.缓存服务器

    在使用Nginx作为缓存服务器时,Nginx会缓存Web服务器返回的响应,从而减少对Web服务器的请求。这种场景通常用于提高Web应用程序的性能、降低Web服务器的负载等。下面是一个示例Nginx配置:

    proxy_cache_path /var/cache/nginx levels=1:2 keys_zone=my_cache:10m inactive=60m;
    server {
    listen 80;
    server_name example.com;
        location / {
            proxy_cache my_cache;
            proxy_pass http://backend;
            proxy_set_header Host $host;
            proxy_set_header X-Real-IP $remote_addr;
        }
    }
    Salin selepas log masuk

    上述配置中,Nginx会将Web服务器返回的响应缓存到/var/cache/nginx/my_cache目录下,并设置缓存有效期为60分钟。在缓存命中时,Nginx会直接返回缓存的响应,从而减少对Web服务器的请求。

    总之,Nginx具有很强的可扩展性和灵活性,可以根据不同的需求配置不同的使用场景。以上仅是一些示例,实际应用中还有很多其他的使用场景。

    5.反向代理服务器

    在使用Nginx作为反向代理服务器时,Nginx会将客户端请求转发到后端的Web服务器上,并将后端服务器返回的响应转发给客户端。这种场景通常用于隐藏后端服务器的真实IP、提高Web应用程序的可用性等。下面是一个示例Nginx配置:

    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;
        }
    }
    Salin selepas log masuk

    上述配置中,Nginx会将客户端请求转发到http://backend上,并设置HTTP头信息中的Host和X-Real-IP字段,从而隐藏后端服务器的真实IP。

    6.WebSocket服务器

    在使用Nginx作为WebSocket服务器时,Nginx会将客户端请求转发到后端的WebSocket服务器上,并实现WebSocket协议的连接管理。这种场景通常用于实时通信、游戏等应用程序。

    下面是一个示例Nginx配置:

    map $http_upgrade $connection_upgrade {
        default upgrade;
        &#39;&#39; close;
    }
    server {
        listen 80;
        server_name example.com;
        location / {
            proxy_pass http://backend;
            proxy_http_version 1.1;
            proxy_set_header Upgrade $http_upgrade;
            proxy_set_header Connection $connection_upgrade;
            proxy_set_header Host $host;
            proxy_set_header X-Real-IP $remote_addr;
        }
    }
    Salin selepas log masuk

    上述配置中,Nginx会将WebSocket请求转发到http://backend上,并设置HTTP头信息中的Upgrade、Connection、Host和X-Real-IP字段,从而实现WebSocket协议的连接管理。

    总之,Nginx具有很多的使用场景,可以根据不同的需求配置不同的服务器功能。以上仅是一些示例,实际应用中还有很多其他的使用场景。

    Atas ialah kandungan terperinci Apakah senario aplikasi utama dalam Nginx?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

    Kenyataan Laman Web ini
    Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn

    Alat AI Hot

    Undresser.AI Undress

    Undresser.AI Undress

    Apl berkuasa AI untuk mencipta foto bogel yang realistik

    AI Clothes Remover

    AI Clothes Remover

    Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

    Undress AI Tool

    Undress AI Tool

    Gambar buka pakaian secara percuma

    Clothoff.io

    Clothoff.io

    Penyingkiran pakaian AI

    AI Hentai Generator

    AI Hentai Generator

    Menjana ai hentai secara percuma.

    Artikel Panas

    R.E.P.O. Kristal tenaga dijelaskan dan apa yang mereka lakukan (kristal kuning)
    2 minggu yang lalu By 尊渡假赌尊渡假赌尊渡假赌
    Repo: Cara menghidupkan semula rakan sepasukan
    1 bulan yang lalu By 尊渡假赌尊渡假赌尊渡假赌
    Hello Kitty Island Adventure: Cara mendapatkan biji gergasi
    1 bulan yang lalu By 尊渡假赌尊渡假赌尊渡假赌

    Alat panas

    Notepad++7.3.1

    Notepad++7.3.1

    Editor kod yang mudah digunakan dan percuma

    SublimeText3 versi Cina

    SublimeText3 versi Cina

    Versi Cina, sangat mudah digunakan

    Hantar Studio 13.0.1

    Hantar Studio 13.0.1

    Persekitaran pembangunan bersepadu PHP yang berkuasa

    Dreamweaver CS6

    Dreamweaver CS6

    Alat pembangunan web visual

    SublimeText3 versi Mac

    SublimeText3 versi Mac

    Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

    Bagaimana untuk membenarkan akses rangkaian luaran ke pelayan tomcat Bagaimana untuk membenarkan akses rangkaian luaran ke pelayan tomcat Apr 21, 2024 am 07:22 AM

    Untuk membenarkan pelayan Tomcat mengakses rangkaian luaran, anda perlu: mengubah suai fail konfigurasi Tomcat untuk membenarkan sambungan luaran. Tambahkan peraturan tembok api untuk membenarkan akses kepada port pelayan Tomcat. Buat rekod DNS yang menunjukkan nama domain ke IP awam pelayan Tomcat. Pilihan: Gunakan proksi terbalik untuk meningkatkan keselamatan dan prestasi. Pilihan: Sediakan HTTPS untuk meningkatkan keselamatan.

    Bagaimana untuk menjalankan thinkphp Bagaimana untuk menjalankan thinkphp Apr 09, 2024 pm 05:39 PM

    Langkah-langkah untuk menjalankan ThinkPHP Framework secara setempat: Muat turun dan nyahzip ThinkPHP Framework ke direktori tempatan. Buat hos maya (pilihan) yang menunjuk ke direktori akar ThinkPHP. Konfigurasikan parameter sambungan pangkalan data. Mulakan pelayan web. Mulakan aplikasi ThinkPHP. Akses URL aplikasi ThinkPHP dan jalankannya.

    Apakah perintah mula dan henti nginx? Apakah perintah mula dan henti nginx? Apr 02, 2024 pm 08:45 PM

    Arahan mula dan henti Nginx ialah nginx dan nginx -s quit masing-masing. Perintah mula memulakan pelayan secara langsung, manakala arahan berhenti dengan anggun menutup pelayan, membenarkan semua permintaan semasa diproses. Isyarat berhenti lain yang tersedia termasuk berhenti dan muat semula.

    Selamat datang ke nginx! Bagaimana untuk menyelesaikannya? Selamat datang ke nginx! Bagaimana untuk menyelesaikannya? Apr 17, 2024 am 05:12 AM

    Untuk menyelesaikan ralat "Selamat datang ke nginx!", anda perlu menyemak konfigurasi hos maya, dayakan hos maya, muat semula Nginx, jika fail konfigurasi hos maya tidak dapat ditemui, buat halaman lalai dan muat semula Nginx, kemudian mesej ralat akan hilang dan laman web akan menjadi paparan biasa.

    Bagaimana untuk menyelesaikan masalah nginx semasa mengakses laman web Bagaimana untuk menyelesaikan masalah nginx semasa mengakses laman web Apr 02, 2024 pm 08:39 PM

    nginx muncul apabila mengakses tapak web Sebabnya mungkin: penyelenggaraan pelayan, pelayan sibuk, cache penyemak imbas, isu DNS, penyekatan firewall, salah konfigurasi tapak web, isu sambungan rangkaian atau tapak web tidak berfungsi. Cuba penyelesaian berikut: tunggu sehingga penyelenggaraan tamat, lawati pada waktu luar sibuk, kosongkan cache penyemak imbas anda, siram cache DNS anda, lumpuhkan perisian firewall atau antivirus, hubungi pentadbir tapak, semak sambungan rangkaian anda atau gunakan enjin carian atau arkib web untuk mencari salinan tapak yang lain. Jika masalah berterusan, sila hubungi pentadbir tapak.

    Cara mendaftar phpmyadmin Cara mendaftar phpmyadmin Apr 07, 2024 pm 02:45 PM

    Untuk mendaftar untuk phpMyAdmin, anda perlu terlebih dahulu mencipta pengguna MySQL dan memberikan kebenaran kepadanya, kemudian memuat turun, memasang dan mengkonfigurasi phpMyAdmin, dan akhirnya log masuk ke phpMyAdmin untuk mengurus pangkalan data.

    Bagaimana untuk menggunakan projek nodejs ke pelayan Bagaimana untuk menggunakan projek nodejs ke pelayan Apr 21, 2024 am 04:40 AM

    Langkah-langkah penggunaan pelayan untuk projek Node.js: Sediakan persekitaran penggunaan: dapatkan akses pelayan, pasang Node.js, sediakan repositori Git. Bina aplikasi: Gunakan npm run build untuk menjana kod dan kebergantungan yang boleh digunakan. Muat naik kod ke pelayan: melalui Git atau Protokol Pemindahan Fail. Pasang kebergantungan: SSH ke dalam pelayan dan gunakan pemasangan npm untuk memasang kebergantungan aplikasi. Mulakan aplikasi: Gunakan arahan seperti node index.js untuk memulakan aplikasi, atau gunakan pengurus proses seperti pm2. Konfigurasikan proksi terbalik (pilihan): Gunakan proksi terbalik seperti Nginx atau Apache untuk menghalakan trafik ke aplikasi anda

    Cara berkomunikasi antara bekas docker Cara berkomunikasi antara bekas docker Apr 07, 2024 pm 06:24 PM

    Terdapat lima kaedah untuk komunikasi kontena dalam persekitaran Docker: rangkaian kongsi, Karang Docker, proksi rangkaian, volum dikongsi dan baris gilir mesej. Bergantung pada keperluan pengasingan dan keselamatan anda, pilih kaedah komunikasi yang paling sesuai, seperti memanfaatkan Docker Compose untuk memudahkan sambungan atau menggunakan proksi rangkaian untuk meningkatkan pengasingan.

    See all articles