docker启动nginx后挂了_配合nginx,使用docker来临时替代故障服务器启动后台的一次尝试...

当点击处理程序耗尽内存导致nginx服务挂掉时,通过docker集群和nginx配置实现负载均衡和备用服务器启动。创建docker编排模板,暴露多个端口,配置nginx进行上游服务器转发,成功恢复服务并确保稳定性。
摘要由CSDN通过智能技术生成

由于点击量实在太大,不得不在ngip,cepip都启动了点击处理程序,然后nginx配置负载均衡转发到这两个程序。

然而点击处理消耗了大量的内存,最终导致ngip没有多余的内存了。

这样稳定跑了一天。

渠道那边问,给下游渠道的后台登不上去了。

才想起来因为内存不够,我关闭了渠道的后台。

此刻面临着要么把点击关掉,挪动到别的服务器,要么想办法启动备用的渠道后台。

实在是看到点击稳定的太好,舍不得这样放弃。

于是决定在docker集群上启动渠道后台。

1.  创建编排模板(之前没有尝试过在一个应用中暴露两个端口,这次决心试试)

ports:

- '8078'

- '8088'

privileged: true

restart: always

volumes:

- /root:/root_doc

labels:

aliyun.scale: '1'

aliyun.auto_scaling.min_instances: '1'

aliyun.routing.port_8088: http://media.xx.XX.com

aliyun.routing.port_8078: http://download.media.xx.XX.com

aliyun.auto_scaling.max_cpu: '80'

aliyun.auto_scaling.min_cpu: '10'

aliyun.auto_scaling.step: '1'

2. 创建好需要的Dockerfile,docker.sh,start.sh. 创建好应用和触发器。然后本地push上集群。

3. 看到在节点上的端口映射为 0.0.0.0:32769->8078/tcp, 0.0.0.0:32768->8088。

4. 打开nginx配置文件,开始配置转发:

upstream ups_cpa-n-down {

server 172.17.0.8:32769 max_fails=3 fail_timeout=4s weight=2;

}

upstream ups_cpa-n {

server 172.17.0.8:32768 max_fails=3 fail_timeout=4s weight=2;

}

#server {

#      listen 8088;

#      listen [::]:8088;

#

#      server_name media.XXX.com ;

#

#      location / {

#              proxy_pass http://ups_cpa-n;

#              proxy_store off;

#              proxy_redirect off;

#              proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;

#              proxy_set_header X-Real-IP $remote_addr;

#              proxy_set_header Host $http_host;

#      }

#}

#

#server {

#      listen 8078;

#      listen [::]:8078;

#

#      server_name media.XXX.com ;

#

#      location / {

#              proxy_pass http://ups_cpa-n-down;

#              proxy_store off;

#              proxy_redirect off;

#              proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;

#              proxy_set_header X-Real-IP $remote_addr;

#              proxy_set_header Host $http_host;

#      }

#}

5. 为何会写出上述配置呢?因为 nginx服务器挂载了 media.XXX.com 的域名,所以最好在nginx上监听渠道后台原来监听的 8078(下载),8088(处理json请求):

server {

listen 80;

listen [::]:80;

server_name media.XXX.com ;

location / {

root /home/arch/XX_N-v1;

index login.html index.html index.htm;

}

location /XX_N {

alias /home/arch/XX_N-v1;

index login.html index.html index.htm;

}

}

6. ngr一下,然后打开渠道后台,登录成功!但是下载时,提示找不到文件!

实在没有时间了,于是将ngip上的点击程序迁移到msgIP,终于有内存了!然后注释nginx添加的server段,启动渠道后台,一切恢复正常了。

思考:要想真正在生产环境中帮上忙,应该优化那些地方呢? 想想 pop.zoo local域名?

比如,port固定绑定,这样几点的固定的端口就会提供固定的服务。

ports:

- "10080:80"

- "10022:22"

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值