阿里云内网集群搭建

阿里云内网集群搭建

1、准备工作
SLB
ECS 2 台

基本架构环境如下图所示:
阿里云内网集群搭建_第1张图片

其中225.76,225.77的搭建为ngnix+tomcat ,tomcat使用的8084端口

注意:
1、在集群搭建OK后,私网访问均使用的是 http://192.168.225.75 这个与外部集群使用域名有所区别
2、在与225.76环境下还有一台ECS225.77漏画了,图上226.76是标错了就该是225.76

搭建部骤:
1、分别搭建好部署好 225.76,225.77的应用,测试方法,使用 wget命令 wget 127.0.0.1:8084 如果返回的200表示本的应用搭建OK. 如果系统不支持wget, 则需下载安装即可,本文不作描述,用户可以百度 wget安装即可

2、配置SLB监听
直接上图:
阿里云内网集群搭建_第2张图片

阿里云内网集群搭建_第3张图片

注意:选择 TCP 监听,原因据说是因为在SLB的键康检查时,SLB向ECS发送header命令时,ngnix进行了阻断,行不通,所以用tcp的方式比较好。

三、ngnix配置文件
此处相信很多朋友都会犯错误,所以也贴出来下,如下:

worker_processes  2;
worker_cpu_affinity 01 10;
user  www www;
pid /mnt/tengine/tengine-2.1.2/nginx.pid;
worker_rlimit_nofile 65535;
events {
    use epoll;
    worker_connections  2048;
}
http {
    include       mime.types;
    default_type  application/octet-stream;
    sendfile        on;
    keepalive_timeout  65;
    access_log on;
    error_log logs/error.log info;
    log_format  main  '$remote_addr - $remote_user [$time_local] "$request" '
                      '$status $body_bytes_sent "$http_referer" '
                     '"$http_user_agent" "$http_x_forwarded_for"$request_time"';

    server_names_hash_bucket_size 128;
    client_header_buffer_size 32k;
    large_client_header_buffers 4 32k;
    client_max_body_size 300m;
    tcp_nopush      on;


    server_tokens   off;
    client_body_buffer_size 512k;
    proxy_connect_timeout 60;
    proxy_read_timeout    600;
    proxy_send_timeout    600;
    proxy_buffering off;
    proxy_buffer_size     16k;
    proxy_buffers         4 64k;
    proxy_busy_buffers_size 128k;
    proxy_temp_file_write_size 128k;
    #inactive=1d;

    gzip on;
    gzip_min_length 1k;
    gzip_buffers 4 16k;
    gzip_http_version 1.1;
    gzip_comp_level 2;
    gzip_types text/plain application/x-javascript text/css application/xml;
    gzip_vary   on;
    limit_conn_zone $binary_remote_addr zone=perip:50m;


  upstream 192.168.225.76{
           ip_hash;
           server 127.0.0.1:8084;       
         }

    server {
        listen       80;
        server_name  192.168.225.75;
        location / {
            proxy_redirect off;
            proxy_pass http://192.168.225.76;
            #proxy_pass http://192.168.225.75;
            access_log logs/access76.log;
            client_max_body_size    100m;
            #limit_conn_log_level info;
            #limit_conn perip 150;
            #set_real_ip_from 100.0.0.0/8;
            #set_real_ip_from 10.159.0.0./16;
            #set_real_ip_from 10.49.0.0/16;
            #set_real_ip_from 100.64.0.0/10;
            #set_real_ip_from 100.109.0.0/16;
            #set_real_ip_from 100.97.0.0/16;
            #set_real_ip_from 100.116.0.0/15;
            #real_ip_header     X-Real-IP;
            #real_ip_header X-Forwarded-For; 
            proxy_set_header Host $host;
            proxy_set_header X-Real-IP $remote_addr;
            proxy_set_header REMOTE-HOST $remote_addr;
            proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        }

              location /nginx_status {
                    stub_status on;
                    access_log on;
                    auth_basic  "nginx status";
                    auth_basic_user_file /mnt/tengine/tengine-2.1.2/conf/htpassword;
                 }        

        location /public/ {
            alias /mnt/wwwroot/bq/WEB-INF/application/public/;
        }

        location ~ ^/WEB-INF/ {  
           deny  all;  
       } 
        error_page  404              /mnt/tengine/tengine-2.1.2/html/404.html;
        error_page   500 502 503 504  /50x.html;
        location = /50x.html {
            root   html;
        }

    }

server {
    listen       80  default_server;
    server_name  _;
    access_log   off;
    return       444;
}
}

四、在内网另找一台机器,测试 wget 192.168.225.75 如果返回的是200,则表示集群搭建成功

注意事项:
1、不可以76,77以下机器中wget192.168.225.75测试,会连接不上的
2、集群内部的服务不可相互访问,原因见每一条,不过这不是什么大问题,注意封装即可

你可能感兴趣的:(阿里云)