Heim  >  Artikel  >  Backend-Entwicklung  >  Nginx-Reverse-Proxy und Lastausgleichspraxis

Nginx-Reverse-Proxy und Lastausgleichspraxis

小云云
小云云Original
2017-11-16 13:43:471867Durchsuche

Nginx („Engine x“) ist ein leistungsstarker HTTP- und Reverse-Proxy-Server sowie ein IMAP/POP3/SMTP-Server. Als Reverse-Proxy-Server kann Nginx Webserver beschleunigen und verfügt über Lastausgleichsfunktionen. Nginx kann Server, die ihre Dienste eingestellt haben, automatisch eliminieren, um einen normalen Zugriff auf Webdienste sicherzustellen.

In diesem Beispiel greift ein Benutzer auf 192.168.1.4 zu und leitet ihn per Proxy an die beiden Server 192.168.1.2:80 und 192.168.1.3:80 weiter, um die Auslastung zu erreichen.

Das Folgende ist die Konfigurationsdatei nginx.conf:

user www www;
worker_processes 10;
#error_log logs/error.log;
#error_log logs/error.log notice;
#error_log logs/error.log info;
#pid logs/nginx.pid;
#最大文件描述符
worker_rlimit_nofile 51200;
events {
worker_connections 51200;
}
http {
include conf/mime.types;
default_type application/octet-stream;
keepalive_timeout 120;
tcp_nodelay on;
#nginx的upstream默认是以轮询的方式实现负载均衡,这种方式中,每个请求按时间顺序逐一分配到不同的后端服务器,
#如果后端服务器down掉,能自动剔除。另外一种方式是ip_hash:每个请求按访问ip的hash结果分配,
#这样每个访客固定访问一个后端服务器,可以解决session的问题。
upstream webserver  {
server 192.168.1.2:80 weight=1;
server 192.168.1.3:80 weight=1;
}
server{
listen 80;
server_name localhost;
location / {
#设置反向代理的地址
proxy_pass http://webserver;
#设置主机头和客户端真实地址,以便服务器获取客户端真实IP
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
}
log_format localhost '$remote_addr - $remote_user [$time_local] $request '
'"$status" $body_bytes_sent "$http_referer" '
'"$http_user_agent" "$http_x_forwarded_for"';
access_log /data1/logs/www.log localhost ;
}
}

Das Obige ist das relevante Tutorial zum Nginx-Reverse-Proxy und zur Lastausgleichspraxis. Ich hoffe, es kann allen helfen.

Verwandte Empfehlungen:

Beispielcode zum Ersetzen des Nginx-Servers durch Tengine in der LNMP-Umgebung

So implementieren Sie einen Reverse-Proxy mit Nginx in PHP

Detaillierte Erläuterung der Nginx-Konfigurationsparameter für hohe Parallelität

Das obige ist der detaillierte Inhalt vonNginx-Reverse-Proxy und Lastausgleichspraxis. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

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