安装java环境
查询 java安装包 196 yum list java* 安装java8 197 yum install -y java-1.8.0-openjdk.x86_64 检验java8是否安装成功。 198 java -version
2个tomcat准备
另外一个tomcat区别在于:配置文件。conf/server.xml
启动tomcat
[root@localhost bin]# ./startup.sh
测试tomcat
[root@localhost bin]# curl http://localhost:8081/test/index.html tomcat-8081,81,81 [root@localhost bin]# curl http://localhost:8082/test/index.html tomcat-8082,82,82 [root@localhost bin]#
nginx安装:
目录:/etc/yum.repos.d/ 241 vi nginx.repo 文件内容: [root@192 yum.repos.d]# cat nginx.repo [nginx-stable] name=nginx stable repo baseurl=http://nginx.org/packages/centos/$releasever/$basearch/ gpgcheck=1 enabled=1 gpgkey=https://nginx.org/keys/nginx_signing.key module_hotfixes=true [nginx-mainline] name=nginx mainline repo baseurl=http://nginx.org/packages/mainline/centos/$releasever/$basearch/ gpgcheck=1 enabled=0 gpgkey=https://nginx.org/keys/nginx_signing.key module_hotfixes=true [root@192 yum.repos.d]#
239 cd /etc/yum.repos.d/ 240 ll 安装nginx: 242 yum install nginx 243 nginx -v 244 ps -ef | grep nginx 245 cd /usr/sbin/ 246 ll 247 ./nginx 248 ps -ef | grep nginx 测试nginx 249 curl http://localhost
nginx做负载均衡
修改/etc/nginx/nginx.conf
/test/index.html[root@192 nginx]# cat nginx.conf user nginx; worker_processes auto; error_log /var/log/nginx/error.log notice; pid /var/run/nginx.pid; events { worker_connections 1024; } http { include /etc/nginx/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 /var/log/nginx/access.log main; sendfile on; #tcp_nopush on; keepalive_timeout 65; #gzip on; include /etc/nginx/conf.d/*.conf; # diy upstream myServer { server localhost:8081; server localhost:8082; } server { listen 80; server_name myNginx.com; location /test/ { proxy_pass http://myServer; } } } [root@192 nginx]#
重新加载配置文件
启动nginx:/usr/sbin/nginx [root@192 nginx]# /usr/sbin/nginx -s reload
域名:
myNginx.com
配置linux域名:
配置宿主机域名:
kong负载均衡
先看nginx
# diy upstream myServer { server localhost:8081; server localhost:8082; } server { listen 80; server_name myNginx.com; location /test/ { proxy_pass http://myServer; } }
kong:
upstream
查看:http://127.0.0.1:8001/upstreams。
添加:
[root@localhost etc]# curl -X POST http://localhost:8001/upstreams --data "name=myServer" {"client_certificate":null,"hash_on":"none","id":"933c3aab-85da-4dc1-a34f-2fae01b56b48","hash_on_header":null,"algorithm":"round-robin","hash_on_query_arg":null,"hash_on_uri_capture":null,"healthchecks":{"passive":{"type":"http","healthy":{"http_statuses":[200,201,202,203,204,205,206,207,208,226,300,301,302,303,304,305,306,307,308],"successes":0},"unhealthy":{"tcp_failures":0,"timeouts":0,"http_failures":0,"http_statuses":[429,500,503]}},"active":{"headers":null,"http_path":"/","https_sni":null,"https_verify_certificate":true,"concurrency":10,"unhealthy":{"tcp_failures":0,"timeouts":0,"http_failures":0,"http_statuses":[429,404,500,501,502,503,504,505],"interval":0},"timeout":1,"type":"http","healthy":{"successes":0,"http_statuses":[200,302],"interval":0}},"threshold":0},"hash_on_cookie":null,"hash_on_cookie_path":"/","hash_fallback":"none","hash_fallback_header":null,"hash_fallback_query_arg":null,"hash_fallback_uri_capture":null,"host_header":null,"tags":null,"created_at":1669830017,"name":"myServer","slots":10000}[root@localhost etc]#
再检查一下,做确认。
Target
查询:http://127.0.0.1:8001/upstreams/myServer/targets
添加:
[root@localhost etc]# curl -X POST http://localhost:8001/upstreams/myServer/targets --data "target=10.0.2.4:8081" {"upstream":{"id":"933c3aab-85da-4dc1-a34f-2fae01b56b48"},"tags":null,"id":"499d1373-45fc-44b5-b952-1e590f3be680","weight":100,"created_at":1669830273.544,"target":"10.0.2.4:8081"}[root@localhost etc]# curl -X POST http://localhost:8001/upstreams/myServer/targets --data "target=10.0.2.4:8082" {"upstream":{"id":"933c3aab-85da-4dc1-a34f-2fae01b56b48"},"tags":null,"id":"093cc5cf-ac84-4bb9-b0c7-0289fec7da6a","weight":100,"created_at":1669830307.884,"target":"10.0.2.4:8082"}[root@localhost etc]#
添加完,查看一下。
Service
查看service:http://127.0.0.1:8001/services
添加:
[root@localhost etc]# curl -X POST http://localhost:8001/services --data "name=myService" --data "host=myServer" {"client_certificate":null,"tls_verify_depth":null,"id":"a5997d4d-c868-43fe-8a73-9db62c5410f8","created_at":1669830610,"updated_at":1669830610,"read_timeout":60000,"protocol":"http","host":"myServer","name":"myService","enabled":true,"retries":5,"port":80,"write_timeout":60000,"tags":null,"ca_certificates":null,"connect_timeout":60000,"tls_verify":null,"path":null}[root@localhost etc]#
查看:http://127.0.0.1:8001/services
Route
查看route:http://127.0.0.1:8001/services/myService/routes
添加:
[root@localhost etc]# curl -X POST http://localhost:8001/services/myService/routes --data "name=myRoute" --data "paths[]=/test" {"paths":["/test"],"methods":null,"sources":null,"destinations":null,"id":"231fc5ba-a1f1-4d6f-9fcb-eac4e897923d","created_at":1669830883,"updated_at":1669830883,"service":{"id":"a5997d4d-c868-43fe-8a73-9db62c5410f8"},"https_redirect_status_code":426,"regex_priority":0,"protocols":["http","https"],"path_handling":"v0","name":"myRoute","strip_path":true,"snis":null,"hosts":null,"tags":null,"headers":null,"request_buffering":true,"response_buffering":true,"preserve_host":false}[root@localhost etc]#
测试负载均衡:
[root@localhost etc]# curl http://localhost:8000/test/test/index.html tomcat-8082,82,82 [root@localhost etc]# curl http://localhost:8000/test/test/index.html tomcat-8081,81,81 [root@localhost etc]# curl http://localhost:8000/test/test/index.html tomcat-8082,82,82 [root@localhost etc]# curl http://localhost:8000/test/test/index.html tomcat-8081,81,81 [root@localhost etc]# curl http://localhost:8000/test/test/index.html tomcat-8082,82,82 [root@localhost etc]# curl http://localhost:8000/test/test/index.html tomcat-8081,81,81 [root@localhost etc]#
成功。
请求需要两个test的原因。
加了/。 相当于匹配到目标地址的 根路径。
# diy upstream myServer { server localhost:8081; server localhost:8082; } server { listen 80; server_name myNginx.com; location /test/ { proxy_pass http://myServer/; } }
总结:
upstream: 对应一组 target节点,实现负载均衡。(还可以指定权重)
target: 对应的具体的服务url。controller。
route: 负责将请求,匹配,映射到 upstream。
service: 将服务节点,指定到一个upstream(具体的服务)。
upstream
----target
service
----route
操作方面:
添加 POST, 修改:PATCH, 删除:DELETE, 查:GET
service:url
创建: 175 curl -X POST http://localhost:8001/services --data name=myTomcat --data url=http://10.0.2.4:8081/test/index.html 查看 176 curl -X GET http://localhost:8001/services 删除 177 curl -X DELETE http://localhost:8001/services/myTomcat 查看 178 curl -X GET http://localhost:8001/services 更新: 180 curl -X PATCH http://localhost:8001/services/myTomcat --data url=http://10.0.2.4:8082/test/index.html 181 curl -X POST http://localhost:8001/services/myTomcat/routes --data name=8082Route --data 'paths[]=/tomcat82'
还没有评论,来说两句吧...