由于点击量实在太大,不得不在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"
原文链接:https://blog.csdn.net/weixin_39573512/article/details/111909467