Im letzten Artikel haben wir die technische Theorie von Nginx+Tomcat im Cluster vorgestellt. Heute vervollständigen wir eine einfache Clusterkonstruktion
Ergebnisvorschau
Werfen wir einen Blick auf die Ergebnisse nach der Konfiguration:
Konfigurationsschritte:
1. Installation
Laden Sie die aktuellste Version von Nginx von der offiziellen Download-Seite der Nginx-Website (http://nginx.org/en/download) herunter .html) Es handelt sich um das Installationspaket der Version 1.9.3, entpacken Sie es und kopieren Sie es in das Bereitstellungsverzeichnis.2. Starten und stoppen Sie Nginx
Nginx unterstützt derzeit nur Befehlszeilenoperationen. Rufen Sie vor dem Betrieb die DOS-Befehlsumgebung auf (cmd-Befehl) und geben Sie Nginx ein Bereitstellungsverzeichnis.Inhalt der nginx.bat-Datei neu laden: nginx -s reload
3. Reverse-Proxy-Konfiguration
Ändern Sie die Datei nginx.conf im Unterverzeichnis conf im Bereitstellungsverzeichnis (z. B. nginx-1.5.13confnginx). .conf) Inhalt können relevante Konfigurationen angepasst werden.
Reverse-Proxy-Konfigurationsbeispiel:location / { #设置主机头和客户端真实地址,以便服务器获取客户端真实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; #禁用缓存 proxy_buffering off; #设置反向代理的地址 proxy_pass http://192.168.1.1; }
4. Lastausgleichskonfiguration
Der Standard-Upstream von Nginx basiert on Die Abfragemethode wird verwendet, um einen Lastausgleich zu erreichen. Bei dieser Methode wird jede Anforderung nacheinander verschiedenen Back-End-Servern zugewiesen. Wenn der Back-End-Server ausfällt, kann er automatisch eliminiert werden.upstream xvshu.com{ #ip_hash; server 192.168.121.251 1; server 192.168.121.252 1; server 192.168.121.253 1; } server { listen 80 server_name trffweb; location / { #反向代理的地址 proxy_pass http://<span style="font-family: Arial, Helvetica, sans-serif;">xvshu.com</span><span style="font-family: Arial, Helvetica, sans-serif;">; </span> } }
5. Vollständiges Konfigurationsbeispiel
nginx.conf: #Nginx所用用户和组,window下不指定 #user niumd niumd; #工作的子进程数量(通常等于CPU数量或者2倍于CPU) worker_processes 1; #错误日志存放路径 #error_log logs/error.log; #error_log logs/error.log notice; error_log logs/error.log info; #指定pid存放文件 pid logs/nginx.pid; events { #使用网络IO模型linux建议epoll,FreeBSD建议采用kqueue,window下不指定。 #use epoll; #允许最大连接数 worker_connections 2048; } http { include mime.types; default_type application/octet-stream; #定义日志格式 #log_format main '$remote_addr - $remote_user [$time_local] $request ' # '"$status" $body_bytes_sent "$http_referer" ' # '"$http_user_agent" "$http_x_forwarded_for"'; #access_log off; #access_log logs/access.log; #client_header_timeout 3m; #client_body_timeout 3m; #send_timeout 3m; #client_header_buffer_size 1k; #large_client_header_buffers 4 4k; sendfile on; #tcp_nopush on; #tcp_nodelay on; keepalive_timeout 75; #include gzip.conf; upstream xvshu.cn{ #根据ip计算将请求分配各那个后端tomcat,许多人误认为可以解决session问题,其实并不能。 #同一机器在多网情况下,路由切换,ip可能不同 #ip_hash; server 192.168.112.250:18080 weight=1; server 192.168.112.251:18080 weight=1; } server { listen 80; server_name localhost; #定义server_name localhost中的请求都叫给xvshu.cn处理 location / { #proxy_connect_timeout 3; #proxy_send_timeout 30; #proxy_read_timeout 30; proxy_pass http://xvshu.cn; proxy_redirect default; } } }
Es sind Probleme aufgetreten:
Das Neuladen des Nginx-Dienstes ist fehlgeschlagen und weist darauf hin, dass kein entsprechender Dienst vorhanden ist. Zu diesem Zeitpunkt können Sie versuchen, den Server manuell neu zu starten
🎜>
Zusammenfassung:
Ein gutes Tool implementiert nicht nur gute Funktionen, sondern ist auch noch wichtiger Der Punkt ist, dass es eine einfachere Geschäftslogik geben muss, damit Benutzer bei der Verwendung dieses Tools einen reibungslosen Übergang durchführen können. Und Nginx, eine Software, die diese beiden Anforderungen für die Mehrheit der Entwickler erfüllt, wird den Benutzern klar werden, dass, wenn sie nicht darauf achten, Sie geben Ihr Bestes, damit die Benutzer es nicht erleben und nicht ohne es leben können! Ist das nicht die Denkweise von Internetprodukten?