Heim  >  Artikel  >  Backend-Entwicklung  >  Nginx-Lesenotizen

Nginx-Lesenotizen

WBOY
WBOYOriginal
2016-08-08 09:23:561014Durchsuche
Plan:
Ich habe es kurz genutzt und das Buch gelesen, um ein umfassendes Verständnis zu erlangen.
1. „Praktisches Nginx: Ein Hochleistungs-Webserver, der Apache ersetzt“
Inhalt: Installation, Konfiguration und Optimierung, PHP FastCGI, JSP, Reverse Proxy, Lastausgleich, Umschreiben, Cache, Moduleinführung
Gehen Sie es der Reihe nach durch und konzentrieren Sie sich dabei auf Reverse-Proxy, Lastausgleich, Umschreiben, Cache und Moduleinführung.
2. „Detailliertes Verständnis von Nginx: Modulentwicklung und Architekturanalyse/Tao Hui. – Beijing: Machinery Industry Press, 2013.3“ 978-7-111-41478-0
In diesem Buch geht es um die Entwicklung von Erweiterungsmodulen auf Basis von Nginx.
Im ersten Teil geht es darum, wie man es nutzt, dann analysiert man die Architektur und spricht darüber, wie man sie entwickelt.
„Nginx eignet sich sehr gut für die Entwicklung von Serverprogrammen, die externe Dienste über TCP auf der Transportschicht bereitstellen.“
Lesen Sie den ersten Teil und überfliegen Sie die anderen Teile.
3. „Nginx-HTTP-Server lernen“
Inhalt: Installation, http-Konfiguration, SSI, PHP, Apache neu schreiben
Endlich einfach Überprüfen Sie nach einer Weile, ob Auslassungen vorhanden sind, und ergänzen Sie diese.

Buch 1: „Praktisches Nginx: ein Hochleistungs-Webserver, der Apache ersetzt“

--- ------- --------
13:25 2014-05-18 1. Einführung
nginx kann die Epoll- und Kqueue-Netzwerk-IO-Modelle verwenden.
------------------------------------------------
13:29 2014-05-18 2. Installation und Konfiguration
http://www.nginx.net/
Hauptversion 1.7, stabile Version 1.6, wählen Sie 1.7.
Es sind sowohl Windows- als auch Linux-Versionen erforderlich.
Ist es in der apt-Bibliothek verfügbar? Was ist die neueste Version?
http://nginx.org/en/download.html
http://nginx.org/download/nginx-1.7.0.tar.gz
http://nginx.org/download/nginx-1.7.0.zip
Sehen Sie sich den Quellcode online an: http://trac.nginx.org /nginx /browser.
Getestete Betriebssysteme und Plattformen
Linux 2.2 – 3 / i386; Linux 2.6 – 3 / amd64;
Windows XP, Windows Server 2003.
Meine experimentelle Umgebung: Eine virtuelle Maschine von Ubuntu 14.04 in Windows 2008 Server R2.
tar
./configure [Verschiedene Optionen]
make
make install
Start
nginx -c nginx.confg
PID anzeigen
ps -ef
Stopp
kill -QUIT pid
kill -TERM pid
kill -9 nginx
Konfigurationsdatei prüfen
nginx -t -c nginx.config
Ordentlicher Neustart
kill -HUP pid
-USR2: Reibungsloses Upgrade
-USR1: Protokolldatei erneut öffnen
-WINCH: Arbeitsprozess ordnungsgemäß schließen
------------------------------------------------

14:09 18.05.2014 3. Grundkonfiguration und Optimierung

Dreieinhalb Stunden verschwendet

17:24 18.05.2014 WEITER
nginx.config-Struktur
Ereignisse{
}
http{
Server{
}
Server{
}
}
nginx unterstützt eine Vielzahl virtueller Hostkonfigurationen: IP-basiert, domänennamenbasiert und portbasiert.
log_format kann auf viele Variablen verweisen!
Der Anhang enthält eine vollständige Liste, einschließlich aller Module.
Nach dem Reverse-Proxy ist $http_x_forwarded_for die echte IP des Clients, $remote_addr nicht.
Browserseitiges Caching muss eingestellt werden, insbesondere für Inhalte, die sich wenig ändern, wie Bilder, JS, CSS, SWF usw.
------------------------------------------------

18:14 2014-05-18 4. FastCGI

PHP oder Perl

location ~ .*.(php|php5)?$
{
fastcgi_pass 127.0.0.1:9000;
fastcgi_index index.php;
include fcgi.conf;
}

Automatischen Start beim Booten einstellen

Linux-Betrieb ist das, was ich stärken möchte, Es ist notwendig, ein Buch zu finden und es zu lesen. Netzwerkeinstellungen, Systemeinstellungen, Skriptanalyse usw.

vi /etc/rc.local
-----------------------------------------
ulimit -SHn 65535
/../php/sbin/php-fpm start
/../sbin/nginx
------------------------------------------------
18 :40 18.05.2014 5. Heben Sie Ihre Stimmung.
upstream tomcat_server{

server 127.0.0.1:8000;}Es gibt viele hier Server. Sie können ip_hash verwenden und die Last ist möglicherweise unausgeglichen, es besteht jedoch keine Notwendigkeit, die Sitzung zu kopieren. Durch das Kopieren der Sitzung wird der Speicher jedes Servers im Cluster gefüllt.

Server{

location ~ .(jsp|jspx|do)?${
proxy_set_header Host $host;
proxy_set_header }
}
------------------- ------- ------18:46 2014-05-18 6. HTTP-Lastausgleich und Reverse-Proxy
Überprüfen Sie OSI

1. Physisch

2. Datenverbindung
3 🎜>4. Übertragung! TCP und UDP werden wichtig
5. Sitzung
7. Anwendung: HTTP, FTP, Telnet, SNMP warten .
Übliche Lastausgleichslösungen befinden sich auf Layer 4/Layer 7.
Der legendäre F5. High-End-Ausrüstung. Gibt es billigere inländische? Überzeugt, Hua 3.
LVS (Linux Server) für die einfachen LeuteSuche nach Büchern, die ich speziell lesen möchte
nginx
unten offline
Backup ist nur aktiviert, wenn alle Nicht-Backup-Maschinen ausgefallen sind
ip_hash ähnelt session_sticky
Upstream
proxy_pass
fastcgi_pass
Nginx Dual-Machine High Availability:
Drift IP; Skripte für Hintergrundüberwachung schreiben und Offline-Übertragung. Dies sollte mit keepalived implementiert werden? Finden Sie den Artikel und lesen Sie ihn. Eine einzelne Maschine kann 100.000 laden. Der Bedarf an Load Balance ist möglicherweise nicht groß, aber der Bedarf an HA ist zu groß. Gibt es Modulunterstützung?
------------------------------------------------
19:23 2014-05-18 7. Umschreiben
Verschiedene reguläre Ausdrücke
PCRE
bei Umschreiben Set Return Break

= gleich


!= ungleich

~ Groß- und Kleinschreibung beachten

~* Große Nachrichten werden nicht unterschieden
-f Datei existiert
!-f Datei existiert nicht
-d Verzeichnis existiert
-e Datei oder Das Verzeichnis existiert
-x file executable
(), auf das später über $1-$9
set zugegriffen werden kann
7.2.7 Globale Variablen, die verwendet werden können
$http_cookie
$args
7.3 PCRE-Syntax! !
Zeichen übertragen
^ Zeilenanfang
$ Zeilenende
* Vorherige 0-mal oder n-mal
+ das vorherige 1 oder n-mal
? 0 oder 1 Mal zurück
Verschiedene Kastanien
--------------------- ---- -------
19:56 2014-05-18 8. Modulentwicklung
Wettbewerb zwischen Experten.
Konfigurationsdateien umfassen: Haupt-, Server-, Upstream- und Standortdateien
Module können nicht dynamisch hinzugefügt werden und müssen zur Kompilierungszeit in Binärdateien kompiliert werden.
Handler-Verarbeitungsmodul
Filter oder grünes ModulLoad-Balancer-Lastausgleichsmodul

8.1 Das
-Modul entspricht dem Aspekt in aop und kann zur Verarbeitung verschiedener Ereignisse gemountet werden.
Schauen Sie nach unten, ohne genau hinzusehen.
------------------------------------------------20: 02 2014-05-18
9. Cache
Der berühmte Squid
proxy_cache-Befehl
Sina Development The ncache-Modul, das Multi-Core voll ausnutzt, ist schneller als Squid

20:29 2014-05-18

proxy_cache_path
proxy_cache_method
proxy_cache_valid
proxy_cache_key
./configure --add-module=../ngx_cache_purge-1.0
Proxy_temp_path und Proxy_cache_path müssen in derselben Partition erstellt werden
----------------------------------------- ------ -
20:41 2014-05-18 10. Fall
Sina Video
Jinshan Xiaoyao.com
CMS
Video-Website
rsync, schauen Sie es sich später an.
------------------------------------------------
21:05 2014-05-18 11. Atypische Anwendungen
HTTPS
./configure --with-http_ssl_module
Spontanes Zertifikat
Privaten Schlüssel erstellen
openssl genrsa -des3 -out api.bz.key 1024
openssl req -new -key aop.bz.key -out api.bz.csr
openssl rsa -in api.bz.key -out api.bz_nopass.key
Zertifikat erstellen
openssl req -new -x509 -days 3650 -key api.bz_nopass.key -out api.bz.crt
Private Schlüsseldatei abrufen: api.bz_nopass.key
Zertifikat: api.bz.crt
Server{ssl on;
ssl_certificate api.bz.crt;
ssl_certificate_key api.bz_nopass.key;
}
Beantragen Sie ein Zertifikat von CA
Generieren Sie auf ähnliche Weise den privaten Schlüssel
http://startssl.com bietet kostenlose Zertifikate.
FLV-Videoserver
HTTP-Download oder Streaming (Flash Media Server/RTMP)
nginx bietet ein FLV-Stream-Modul und unterstützt Drag
./configure --with-http_flv_module
limit_rate_after 3m
limit_rate 512k
Keyframes hinzufügen
Suchen Sie einen FLV-Player
Streaming-Medien fms/red5-Lastausgleich
VPS (Virtual Private Server) virtuelle Maschine
Der größte Indikator ist das Gedächtnis.
Proxy weiterleiten
-------------------------- ----
21:27 2014-05-18 12. Kernmodul
--------- ----- ----
21:34 2014-05-18 13. Standard-HTTP-Modul
---------------------------------
21:53 18.05.2014 14. Andere Module
12, 13 und 14 sind Referenzhandbücher, die sorgfältig gelesen und jederzeit zum Nachschlagen aufbewahrt werden sollten.
------------------------------------------------
21:55 2014-05-18 15. E-Mail-Modul
Das ist auch sehr praktisch!

Buch 2:

Lesen Sie schnell die ersten drei Kapitel von „Umfassendes Verständnis von Nginx: Modulentwicklung und Architekturanalyse ".
Kapitel 1 Installation
Lass es uns morgen auf dem Weg zur Arbeit lesen.
Kapitel 2 Konfiguration
Sehr detailliert!
Kapitel 3 Wie schreibe ich ein HTTP-Modul
Es ist zu detailliert, Sie können ein Hallo Welt erstellen, indem Sie ihm folgen. Warum habe ich den Drang, c zu schreiben?
Das Design und der Code von Nginx sind großartig, ich möchte unbedingt einen genaueren Blick darauf werfen.
Schade, dass die Zeit schwierig zu vereinbaren ist.
Alles, was Sie aufgeben, müssen Sie gewinnen.
Buch 3, „Lernen des Nginx-HTTP-Servers“
Verdammt!
Sogar grundlegende Linux-Befehle werden gelehrt, beginnend mit mkdir.
Ein Muss für Anfänger! !
Ich weiß wirklich nicht, wie man eine Benutzergruppe erstellt, ich sollte mir die Zeit nehmen, es mir genauer anzusehen.
Ch1 grundlegender Linux-Betrieb
Ch2-Installation 22:11 2014-05-18
Ch3-Konfiguration 22:12 2014-05- 18
Ch4 HTTP-Konfiguration 22:13 2014-05-18
Ch5-Modulkonfiguration 22:14 2014-05-18
Ch6 PHP, Python 22:15 2014-05-18
Ch7 Apache
Ch8 Portiert von Apache
22:17 2014- 05-18 Ich nahm Erkältungsmedikamente und war fast schläfrig.

Das Obige ist eine Einführung in Nginx-Lesenotizen, einschließlich relevanter Inhalte. Ich hoffe, dass es für Freunde hilfreich ist, die sich für PHP-Tutorials interessieren.

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn