Dieser Artikel stellt Ihnen den Nginx-Reverse-Proxy- und Load-Balancing-Leitfaden zur Installation und Konfiguration von Nginx und PHP vor. Er hat einen bestimmten Referenzwert.
1. Finden und Öffnen Sie die Conf-Datei
2. Lastausgleichskonfiguration
Der Upstream von nginx verwendet standardmäßig eine Abfragemethode, um einen Lastausgleich zu erreichen. Diese Methode wird jeder Anforderung zugewiesen nacheinander in chronologischer Reihenfolge auf verschiedene Back-End-Server übertragen. Wenn der Back-End-Server ausfällt, kann er automatisch eliminiert werden.
Eine andere Möglichkeit ist ip_hash: Jede Anfrage wird entsprechend dem Hash-Ergebnis der aufgerufenen IP zugewiesen, sodass jeder Besucher festen Zugriff auf einen Back-End-Server hat, der das Sitzungsproblem lösen kann.
Lastausgleich ist etwas, was unsere stark frequentierte Website tun muss. Jetzt werde ich Ihnen die Lastausgleichskonfigurationsmethode auf dem Nginx-Server vorstellen. Ich hoffe, dass sie für bedürftige Studenten hilfreich ist.
Lastausgleich
Lassen Sie uns zunächst kurz verstehen, was Lastausgleich ist, indem wir einfach die wörtliche Bedeutung verstehen 🎜>N Server teilen sich die Last gleichmäßig, und es kommt nicht zu Ausfallzeiten aufgrund einer hohen Auslastung eines bestimmten Servers und ein bestimmter Server wird nicht im Leerlauf sein. Die Voraussetzung für den Lastausgleich besteht darin, dass er von mehreren Servern erreicht werden kann, dh mehr als zwei Server sind ausreichend.
Testumgebung
Testdomänenname : a.com
AServerIP :192.168.5.149 (Haupt)
BServerIP :192.168.5.27
CServerIP : 192.168.5.126
BereitstellungsideenA
-Server wird als Hauptserver verwendet und der Domänenname wird direkt in A Server (192.168.5.149), Lastverteilung von A Server zu B Server ( 192.168.5.27) und C Server (192.168.5.126).
A
Servernginx.conf Einstellungen
Öffnen Sie nginx.conf, der Speicherort der Datei ist nginx Im Verzeichnis conf des Installationsverzeichnisses.
http hinzu
upstream a.com { server 192.168.5.126:80; server 192.168.5.27:80; } server{ listen 80; server_name a.com; location / { proxy_pass http://a.com; proxy_set_header Host $host; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; } } 保存重启nginx B、C服务器nginx.conf设置 打开nginx.confi,在http段加入以下代码 server{ listen 80; server_name a.com; index index.html; root /data0/htdocs/www; }
nginx 测试 打开浏览器访问a.com结果,刷新会发现所有的请求均分别被主服务器(192.168.5.149)分配到B服务器(192.168.5.27)与C服务器(192.168.5.126)上,实现了负载均衡效果。 假如其中一台服务器宕机会怎样? 我们先来看看实例,根据以上例子,假设C服务器192.168.5.126这台机子宕机了(由于无法模拟宕机,所以我就把C服务器关机)然后再来访问看看。 我们发现,虽然C服务器(192.168.5.126)宕机了,但不影响网站访问。这样,就不会担心在负载均衡模式下因为某台机子宕机而拖累整个站点了。 如果b.com也要设置负载均衡怎么办? 假设b.com的主服务器IP是192.168.5.149,负载均衡到192.168.5.150和192.168.5.151机器上 现将域名b.com解析到192.168.5.149IP上。 在主服务器(192.168.5.149)的nginx.conf加入以下代码: u 保存重启nginx 完成以后步骤后即可实现b.com的负载均衡配置。 主服务器不能提供服务吗? 如以上案例三台服务器: A服务器IP :192.168.5.149 (主) B服务器IP :192.168.5.27 C服务器IP :192.168.5.126 我们把域名解析到A服务器,然后由A服务器转发到B服务器与C服务器,那么A服务器只做一个转发功能,现在我们让A服务器也提供站点服务。 我们先来分析一下,如果添加主服务器到upstream中,那么可能会有以下两种情况发生: 1、主服务器转发到了其它IP上,其它IP服务器正常处理; 2、主服务器转发到了自己IP上,然后又进到主服务器分配IP那里,假如一直分配到本机,则会造成一个死循环。 怎么解决这个问题呢?因为80端口已经用来监听负载均衡的处理,那么本服务器上就不能再使用80端口来处理a.com的访问请求,得用一个新的。于是我们把主服务器的nginx.conf加入以下一段代码: 既然能正常访问,那么我们就可以把主服务器添加到upstream中,但是端口要改一下,如下代码: 由于这里可以添加主服务器IP192.168.5.149或者127.0.0.1均可以,都表示访问自己。 Starten Sie Nginx neu und besuchen Sie dann a.com, um zu sehen, ob es dem Hauptserver zugewiesen wird . Der Hauptserver kann dem Dienst auch normal beitreten. Schließlich IP des echten Servers jedoch nicht Seien Sie Ping, um es zu erhalten, was ein gewisses Maß an Sicherheit bietet. IP im Upstream ist nicht unbedingt das interne Netzwerk oder das Externes Netzwerk IP ist ebenfalls verfügbar. Der klassische Fall ist jedoch, dass eine bestimmte IP im lokalen Netzwerk dem externen Netzwerk zugänglich gemacht wird und der Domänenname direkt in diese IP aufgelöst wird . Dann leitet der Hauptserver es an den Intranetserver IP weiter. Nginx leitet keine Anfragen an den weiter Ausgefallener Server. IP auf Referenzartikel: http://blog.csdn.net/xyang81/article/details/51702900 http:// www.linuxdiyf .com/linux/10205.html Das obige ist der detaillierte Inhalt vonInstallation und Konfiguration von Nginx und PHP 6: Bereitstellungshandbuch für Nginx Reverse Proxy und Load Balancing. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!
当访问a.com的时候,为了区分是转向哪台服务器处理我分别在B、C服务器下写一个不同内容的index.html文件,以作区分。
当某台服务器宕机了,是否会影响访问呢?
很简单,跟a.com设置一样。如下:pstream b.com {
server 192.168.5.150:80;
server 192.168.5.151:80;
}
server{
listen 80;
server_name b.com;
location / {
proxy_pass http://b.com;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
}
}
保存重启nginx
在192.168.5.150与192.168.5.151机器上设置nginx,打开nginx.conf在末尾添加以下代码:
server{
listen 80;
server_name b.com;
index index.html;
root /data0/htdocs/www;
}
以上例子中,我们都是应用到了主服务器负载均衡到其它服务器上,那么主服务器本身能不能也加在服务器列表中,这样就不会白白浪费拿一台服务器纯当做转发功能,而是也参与到提供服务中来。server{
listen 8080;
server_name a.com;
index index.html;
root /data0/htdocs/www;
}
重启nginx,在浏览器输入a.com:8080试试看能不能访问。结果可以正常访问upstream a.com {
server 192.168.5.126:80;
server 192.168.5.27:80;
server 127.0.0.1:8080;
}
1. Der Lastausgleich ist nicht einzigartig und bekannt für Nginx Dingdings Apache ist ebenfalls verfügbar, aber die Leistung ist möglicherweise nicht so gut wie nginx.
http://www. php100.com /html/program/nginx/2013/0905/5525.html