上篇文章,我們針對群集中的Nginx+tomcat技術理論進行了介紹,今天,咱們一起來完成一個簡單的群集搭建
設定步驟:
1. /en/download.html)下載Nginx最新版本(目前是1.9 .3版本)安裝包,解壓縮後複製到部署目錄。
2。 啟動Nginx:start nginx
啟動Nginx:start nginx 停止Nginx:nginx -s stopstop nginx.bat檔案內容:nginx -s stop
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;
}
的方式不同的後端伺服器,如果後端伺服器down掉,能自動剔除。
另外一種方式是ip_hash:每個請求按訪問ip的hash結果分配,這樣每個訪客固定訪問一個後端伺服器,可以解決session的問題。負載平衡設定範例
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. 完整設定範例
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; } } }
總結:
一個好的工具,不僅是實現了好的功能,還有更重要的一點就是,一定要有更簡單的業務在使用這款工具的時候才能順利過渡,而Nginx這款軟體,對於廣大開發者恰恰符合這兩個要求,不用心,用戶就會體會到,用心了,就是讓用戶體會不到,離不開!這不就是網路產品的思維嗎?
版權聲明:本文為部落客原創文章,未經部落客允許不得轉載。
以上就介紹了 java集群優化——Nginx+tomcat集群配置-實踐篇,包括了方面的內容,希望對PHP教程有興趣的朋友有所幫助。