nginx学习(一)
最近开始做CDN相关的业务,后台全部是nginx相关的知识,比如所有网站的缓存都是架构在nginx服务器上,各种转发,代理,缓存,负载均衡等功能全部由nginx支持。
很多的访问控制策略需要采用nginx内嵌lua来做,另外,关于CDN还有大量的逻辑和业务需要在nginx上进行定制开发,所以掌握nginx是深入开展CDN业务的基础。
所以打算用一段时间,一边学习,一边开发业务,把整体学习心得都记录下来,希望对nginx能有更好的理解。
目前对于nginx的了解仅限于以下几个方面:
- 1 nginx 是一位俄罗斯大牛开源的基于事件驱动模型的C/S架构的高性能的WEB服务器,主要支持HTTP和邮件相关的协议。
- 2 nginx 在WEB服务器中性能是最好的,虽然市场份额只排到第二位,第一名当然是java世界的apache。
- 3 目前国内主流的CDN业务,后端几乎都是基于nginx开展的。
- 4 nginx功能非常强大,支持正向代理,反向代理,缓存,负载均衡等许多功能。
- 5 nginx可以很好的支持lua扩展,内部可以加载lua解释器,实现和lua语言的完美契合。目前好多功能都是在lua脚本中完成。
- 6 nginx采用多进程的管理方式,一个master管理者,0个到多个worker工作者进程,所有具体业务都是有具体的worker来完成。master只负责管理和调度的职责。
- 7 nginx采用管道的方式处理消息流,处理过程共分为11个阶段,每个消息都按顺序一个阶段一个阶段的执行,在其中某个阶段不满足条件后会提前结束。其中最出名的三个阶段分别是rewrite,access,content。rewrite就是对url进行内部处理,包括检查,修改属性,重新跳转等,access主要是实现访问控制等,content就是生成最后要发给用户的内容。
- 8 nginx内部有很多数据结构,包括字符串,链表,哈希,以及radix_tree(之前用过)等,这些数据结构最好也好好掌握下。
- 9 有一个开源项目叫openresty, 里面包含了nginx的核心和常用的第三方模块,想快速搭建可以参考。
以上就介绍了nginx学习(一),包括了方面的内容,希望对PHP教程有兴趣的朋友有所帮助。

Alat AI Hot

Undresser.AI Undress
Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover
Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool
Gambar buka pakaian secara percuma

Clothoff.io
Penyingkiran pakaian AI

Video Face Swap
Tukar muka dalam mana-mana video dengan mudah menggunakan alat tukar muka AI percuma kami!

Artikel Panas

Alat panas

Notepad++7.3.1
Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina
Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1
Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6
Alat pembangunan web visual

SublimeText3 versi Mac
Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Topik panas



Cara mengkonfigurasi nama domain Nginx pada pelayan awan: Buat rekod yang menunjuk ke alamat IP awam pelayan awan. Tambah blok hos maya dalam fail konfigurasi Nginx, menyatakan port pendengaran, nama domain, dan direktori akar laman web. Mulakan semula nginx untuk memohon perubahan. Akses konfigurasi ujian nama domain. Nota Lain: Pasang sijil SSL untuk membolehkan HTTPS, pastikan firewall membenarkan trafik port 80, dan tunggu resolusi DNS berkuatkuasa.

Kaedah yang boleh menanyakan versi nginx adalah: gunakan perintah nginx -v; Lihat arahan versi dalam fail nginx.conf; Buka halaman ralat Nginx dan lihat tajuk halaman.

Memulakan pelayan Nginx memerlukan langkah-langkah yang berbeza mengikut sistem operasi yang berbeza: Sistem Linux/Unix: Pasang pakej Nginx (contohnya, menggunakan apt-get atau yum). Gunakan SystemCTL untuk memulakan perkhidmatan Nginx (contohnya, SUDO SystemCTL Mula Nginx). Sistem Windows: Muat turun dan pasang fail binari Windows. Mula Nginx menggunakan nginx.exe executable (contohnya, nginx.exe -c conf \ nginx.conf). Tidak kira sistem operasi yang anda gunakan, anda boleh mengakses IP pelayan

Anda boleh menanyakan nama kontena Docker dengan mengikuti langkah -langkah: Senaraikan semua bekas (Docker PS). Tapis senarai kontena (menggunakan arahan grep). Mendapat nama kontena (terletak di lajur "Nama").

Bagaimana cara mengkonfigurasi nginx di Windows? Pasang Nginx dan buat konfigurasi hos maya. Ubah suai fail konfigurasi utama dan sertakan konfigurasi hos maya. Mulakan atau Muat semula Nginx. Uji konfigurasi dan lihat laman web. Selektif membolehkan SSL dan mengkonfigurasi sijil SSL. Selektif tetapkan firewall untuk membolehkan trafik port 80 dan 443.

Bagaimana untuk mengesahkan sama ada nginx dimulakan: 1. Gunakan baris arahan: status sistem sistem nginx (linux/unix), netstat -ano | Findstr 80 (Windows); 2. Periksa sama ada port 80 dibuka; 3. Semak mesej permulaan Nginx dalam log sistem; 4. Gunakan alat pihak ketiga, seperti Nagios, Zabbix, dan Icinga.

Docker Container Startup Langkah: Tarik Imej Bekas: Run "Docker Pull [Mirror Name]". Buat bekas: Gunakan "Docker Buat [Pilihan] [Nama Mirror] [Perintah dan Parameter]". Mulakan bekas: Jalankan "Docker Start [Nama Container atau ID]". Semak Status Kontena: Sahkan bahawa bekas sedang berjalan dengan "Docker PS".

Untuk mendapatkan Nginx untuk menjalankan Apache, anda perlu: 1. Pasang Nginx dan Apache; 2. Konfigurasikan ejen Nginx; 3. Mula Nginx dan Apache; 4. Uji konfigurasi untuk memastikan bahawa anda dapat melihat kandungan Apache selepas mengakses nama domain. Di samping itu, anda perlu memberi perhatian kepada perkara -perkara lain seperti padanan nombor port, konfigurasi tuan rumah maya, dan tetapan SSL/TLS.
