nginx

浅谈导出Execl的报表数据解决方案

☆樱花仙子☆ 提交于 2021-02-20 19:54:34
项目中免不了要做一些数据导出功能,比如导出前一天的订单记录。涉及导出功能可大可小,根据系统具体的用户量、一天的订单量等情况。今天就讨论一下怎么设计一个合理的导出功能。 0x01:同步导出 这个方案最简单,就只需一个导出接口。这个接口只需实现根据用户条件到数据库查询相关数据,然后在应用程序中生成Execl电子表格,最后通过Response把生成的Execl电子表格回写到客户端即可 该方案简单,因为是同步导出,所以不适用大量数据导出。如果使用该方案进行大量数据导出的话,存在客户端(浏览器)超时的情况,导致导出失败;因为浏览器与Nginx之间有超时设置。 0x02:异步导出 异步导出一般需要设计三个接口。 第一个接口:开启一个线程对进行数据查询,并对查询到的数据进行Execl电子表格读写操作,同步返回导出状态标识; 第二个接口:查询第一个接口的完成状态,如果完成Execl电子表格操作,则返回true;否则返回false; 第三个接口:根据第二个接口返回的状态,如果返回true,就调用下载Execl电子表格;否则返回false的话继续轮询调用第二个接口,直到返回true; 这种方案比较耗服务器性能,因为需要第二个接口轮询应用服务器的导出状态,设置一个比较合理的轮询周期显得非常必要。另外,第一种方案和第二种方案都没有对导出的结果进行存库记录,如果要下载同样的数据,要整个流程重新走一遍

Linux 下部署Django项目

五迷三道 提交于 2021-02-20 16:49:10
Linux 下部署Django项目 说明:本文所使用的环境为CentOS 6+Python2.7+Django1.11 安装Django、Nginx和uWSGI 1.确定已经安装了2.7版本的Python; 2.安装python-devel yum install python-devel 3.安装uwsgi pip install uwsgi 测试uwsgi是否能正常工作 1.新建一个index.py; # index.py def application (env, start_response): start_response( '200 OK', [( 'Content-Type', 'text/html')]) return "Hello World" 1 2 3 4 2.uwsgi –http :8000 –wsgi-file index.py 浏览器访问8000端口看是否有hello world输出 注意:确保8000端口能被外网访问 测试Django能否正常工作 $ cd /var/www/ $ django-admin startproject mysite $ cd mysite $ python manage.py runserver 0.0.0.0:8000 浏览器访问8000端口看是否有hello world输出 测试uwsgi是否能和django集成

Helm 安装Nginx Ingress

天涯浪子 提交于 2021-02-20 13:50:53
为了便于将集群中的服务暴露到集群外部,需要使用Ingress。接下来使用Helm将Nginx Ingress部署到Kubernetes上。 Nginx Ingress Controller被部署在Kubernetes的边缘节点上。 这里将 master 作为边缘节点,打上 label [root@master /]# kubectl label node master node-role.kubernetes.io/edge= node/master labeled [root@master /]# kubectl get nodes NAME STATUS ROLES AGE VERSION master Ready edge,master 4d3h v1.15.1 slaver1 Ready <none> 4d2h v1.15.1 slaver2 Ready <none> 4d2h v1.15.1 安装 使用 yaml 配置文件安装 stable/nginx-ingress chart的值文件ingress-nginx.yaml如下: controller: replicaCount: 1 hostNetwork: true nodeSelector: node-role.kubernetes.io/edge: '' affinity: podAntiAffinity:

全网最新、最全面蚂蚁金服面经分享:简历模板/面试题库/Java核心技术笔记

我的梦境 提交于 2021-02-20 13:41:35
前言 前段时间,蚂蚁金服的热度可不小,互联网圈人人都在讨论它上市的事情,实际上蚂蚁金服上市是迟早的事情。这一下,蚂蚁的员工含金量上升了不少,那我之前蚂蚁提前批这波面经,也是时候分享了。 这次面试,可以说是一波三折,波涛汹涌了,原本我是一个挺自信的人的,所以在面试前我算是处于一个斗志昂扬的状态,奈何在经历一面二面意志力被消磨了不少,虽然三面准备充足,但整体下来对自己表现不满意,所以以为是没戏了,没想到意外接来了HR面的通知,于是就这么意外的拿到了offer。 下面就对这次蚂蚁金服的面试体验进行一个分享,由于面试题比较多,所以只挑选了一些有针对性的核心题放在这里解析,如果你需要完整pdf版,只需要添加小助理vx:mxzFAFAFA即可!! 蚂蚁金服意外的第一面 1、讲一讲ArrayList和LinkedList区别? ArrayList 是一个可改变大小的数组。当更多的元素加入到ArrayList中时,其大小将会动态地增长。内部的元素可以直接通过get与set方法进行访问,因为ArrayList本质上就是一个数组, LinkedList 是一个双链表,在添加和删除元素时具有比ArrayList更好的性能.但在get与set方面弱于ArrayList。 当然,这些对比都是指数据量很大或者操作很频繁的情况下的对比,如果数据和运算量很小,那么对比将失去意义。 2、什么情况会造成内存泄漏?

CentOS7下使用Sonatype Nexus3搭建Docker私有仓库

妖精的绣舞 提交于 2021-02-20 11:48:06
相关资料:   Sonatype Nexus3官方网站: https://www.sonatype.com/download-oss-sonatype   Sonatype Nexus3 Docker Hub地址: https://hub.docker.com/r/sonatype/nexus3/   Sonatype Nexus3一些介绍及使用: https://yeasy.gitbooks.io/docker_practice/repository/nexus3_registry.html   本文参考文章: https://www.cnblogs.com/holdengong/archive/2019/09/05/11468290.html , https://blog.csdn.net/supertor/article/details/83146596 ⒈安装Docker(必要条件)   请参考 https://www.cnblogs.com/fanqisoft/p/10439620.html 安装Docker ⒉安装Nexus3仓储   1.拉取sonatype/nexus3镜像 docker pull sonatype/nexus3   2.启动容器 docker run -d --name nexus3 --restart=always -p 5000 : 5000

nginx + tomcat + https配置

我的梦境 提交于 2021-02-20 08:05:23
nginx + tomcat + https配置 模式: 客户端 ---https -----> nginx ----- http ------> tomcat 浏览器和 Nginx 之间走的 HTTPS 通讯,而 Nginx 到 Tomcat 通过 proxy_pass 走的是普通 HTTP 连接。 证书申请: 在有域名的服务器上部署申请证书的程序: 备注:python 版本在2.6以上 1. #mkdir ~/cert/ wget https://dl.eff.org/certbot-auto chmod a+x certbot-auto 2、mkdir ~/.pip pip.conf配置文件: [global] index-url=https://pypi.doubanio.com/simple/ [install] trusted-host=pypi.doubanio.com 3、安装申请证书所依赖的工具 cd ~/cert #./certbot-auto 安装过程可能需要比较长的时间,有时可能是网络连接不好执行不成功 You should test your configuration at: https://www.ssllabs.com/ssltest/analyze.html?d=www.lelaohui.com.cn -----------------------

前端跨域之nginx配置跨域问题

无人久伴 提交于 2021-02-20 05:42:06
一、前端跨域问题    前端跨域出现在前端得同源策略上,只有满足:协议、域名、端口相同得情况下才是同源,即可以调用对方资源,否则,浏览器端,F12的console会报错:Access_Control_Allow_Origin的问题; 前端地址:http://www.baidu.com 是否跨域 原因 http://www.baidu.com/home 否 域名、协议、端口都相同 https://www.baidu.com/home 是 协议不同 http://www.jd.com/ 是 域名不同 https://www.jd.com 是 协议、域名都不同 二、跨域解决的方法   1、后端授权:CORS;   2、jsonp:利用html标签的中src等不受同源策略影响的漏洞   3、nginx代理配置; 三 、利用nginx配置,解决前端跨域问题    //打开nginx的配置文件 vim nginx.conf //在指定的代理位置进行设置如下代码 location ^/ home { add_headeer ‘Access_Control_Allow_Origin’ ’ *.huawei.com‘ // 控制的域名范围 add_header ' Access_Control_Allow_Credentials ' ' true ' add_headeer ‘Access

How to find out why Nginx return 400 while use it as http/2 load balancer?

杀马特。学长 韩版系。学妹 提交于 2021-02-20 04:56:54
问题 I'm implementing a http/2 proxy myself, and I'm using Nginx as load balancer. When I use Nginx as h2c load balancer, it works: server { listen 8443 http2; location / { error_log /Users/jiajun/nginx_error_log.log debug; grpc_pass grpc://127.0.0.1:2017; } } Run it: $ go run example/grpc_client/main.go calling to 127.0.0.1:2019 2019/01/28 11:50:46 gonna call c.SayHello... 2019/01/28 11:50:46 Greeting: Hello world And Nginx access log is: 127.0.0.1 - - [28/Jan/2019:11:50:46 +0800] "POST

Jwilder nginx proxy - 503 after docker compose structure update

北城以北 提交于 2021-02-20 04:17:05
问题 I'm using jwilder/nginx-proxy with separate docker-compose.yaml . It looks like this: proxy: image: jwilder/nginx-proxy restart: always volumes: - /var/run/docker.sock:/tmp/docker.sock:ro - ./nginx/conf.d/proxy.conf:/etc/nginx/conf.d/proxy.conf:ro - /Users/marcin/Docker/local_share/certificates:/etc/nginx/certs:ro ports: - "80:80" - "443:443" container_name: proxy I'm using it for quite a long time and it's working fine when my project docker-compose.yaml looks like this: web: build: /Users