Tomcat

1分钟搞定 Nginx 版本的平滑升级与回滚

我怕爱的太早我们不能终老 提交于 2020-12-26 19:06:50
Nginx无论是对于运维、开发、还是测试来说,都是日常工作需要掌握的一个知识点,之前也写过不少关于Nginx相关的文章: Nginx服务介绍与安装 Nginx服务配置文件介绍 Nginx配置虚拟主机 Nginx反向代理负载均衡配置 Nginx+Tomcat多实例及负载均衡配置 HTTP服务器Nginx服务介绍续 Nginx优化配置详解 Nginx+keepalived高可用配置实战 Apache VS Nginx,你选对了吗? 基于 Nginx 的 HTTPS 性能优化实践 Nginx 到底可以做什么?看完这篇你就懂了! 深度总结|深入浅出Nginx 终极指南:提高Nginx服务器硬度的12个技巧 有兴趣的可以看看上面的文章。 今天,我们来聊一聊,在企业实际生产环境中经常遇到的一个情况,升级Nginx到新的版本和如何回滚至旧版本。 1、环境介绍 今天准备的两个nginx版本如下: [root@nginx ~]# cd /download/nginx/[root@nginx nginx]# lltotal 1952-rw-r--r-- 1 root root 981687 Oct 17 2017 nginx-1.12.2.tar.gz-rw-r--r-- 1 root root 1015384 Dec 4 09:58 nginx-1.14.2.tar.gz 2、编译安装新旧版本

Nginx搭配Tomcat实现负载均衡

佐手、 提交于 2020-12-26 15:52:03
Python实战社群 Java实战社群 长按识别下方二维码, 按需求添加 扫码关注添加客服 进Python社群▲ 扫码关注添加客服 进Java社群 ▲ 作者丨非科班的科班 来源丨黎杜编程(ID:LDCldc123095) Nginx简介 Nginx 是一款自由的、开源的、高性能的 HTTP 服务器和反向代理服务器,中国互联网大厂使用nginx网站有:百度、京东、新浪、网易、腾讯、淘宝等。 什么是反向代理呢? 反向代理(Reverse Proxy)方式是指以代理服务器来接受internet上的连接请求,然后将请求转发给内部网络上的服务器,并将从服务器上得到的结果返回给internet上请求连接的客户端,此时代理服务器对外就表现为一个反向代理服务器。简单来说就是真实的服务器不能直接被外部网络访问,所以需要一台代理服务器。 Nginx 的负载均衡算法: (1)weight 轮询(默认) :接收到的请求按照顺序逐一分配到不同的后端服务器,即使在使用过程中,某一台后端服务器宕机,Nginx 会自动将该服务器剔除出队列,请求受理情况不会受到任何影响。 这种方式下,可以给不同的后端服务器设置一个权重值(weight),用于调整不同的服务器上请求的分配率。权重数据越大,被分配到请求的几率越大;该权重值,主要是针对实际工作环境中不同的后端服务器硬件配置进行调整的。 (2)ip_hash

Docker部署SpringBoot项目

别等时光非礼了梦想. 提交于 2020-12-26 12:13:36
1.准备一个SpringBoot项目 2.安装Docker Docker运行在CentOS 7上,要求操作系统为64位,内核版本为3.10及以上。 确认本机已经安装了满足要求的Linux内核。使用命令 uname -r 来检查内核版本信息。 [root@localhost ~]# uname -r 3.10.0-957.el7.x86_64 安装Docker 使用命令yum install -y docker安装Docker,“-y”表示不询问,使用默认配置进行安装。 启动Docker服务,并设置为开机自启动 #启动 systemctl start docker.service #开启自启动 systemctl enable docker.service #查看docker版本 docker version 3.配置DockerFile文件 新建文件夹并创建对应文件 cd /home mkdir DockerDeploy cd DockerDeploy touch Dockerfile #插入如下内容 FROM java:8 VOLUME /tmp ADD my-blog-4.0.0-SNAPSHOT.jar app.jar RUN bash -c "touch /app.jar" EXPOSE 8080 ENTRYPOINT ["java","-Djava.security

Python--while循环

跟風遠走 提交于 2020-12-26 12:11:30
欢迎点击「算法与编程之美」↑关注我们! 本文首发于微信公众号:"算法与编程之美",欢迎关注,及时了解更多此系列文章。 1 问题描述 python 初学者在运算或者写小程序的时候,总是要运行一次点一次,这只是 while 循环的一个小运用 2 问题分析 多次点击很浪费时间,让人的体验感极低。程序测试的时候要多次测验需要用一个死循环进行测试,而通过一次一次的点击程序测试很麻烦。 3 解决方案 用 while 死循环 比如:圆周率的运算 加密测试 跳出循环可以使用快捷键 ctrl+c ,将终止程序。 While 循环里面有两个函数 Break :某一条件满足时退出循环,不再执行后续代码 Continue :某一条件满足时 ,不执行后续重复代码 除此之外 while 循环还能做许多其他的事情,比如从一加到一百 4 总结 While 的基本语法 While 条件(判断 计数器 是否到目标次数): 条件满足时做的事情 …………… 条件处理(计数器 +1 ) While 循环的好处提高开发效率,提高代码重要性,以便后期代码的维护 While 循环不仅可以用于测试,还有其他很多有趣的运用。有时候一条代码能让自己解决很多问题,发现能让学习代码更有趣。 更多精彩文章: 什么是机器学习 关于网页首页设计的一点思考 新手小白应该如何学习MUI 聊一聊编程的本质 深入理解浏览器内核 - 概述

Java servlet not writing response bytes

久未见 提交于 2020-12-26 09:01:11
问题 I have a few Java servlets (3.x - Tomcat 8) running that generate and return PDF documents. I've never had any problems with any of them. I recently wrote a new servlet to also create and return a PDF document, and this new servlet is using the exact same piece of response code as the others are using: response.reset(); response.setContentType("application/pdf"); response.setHeader("Content-Transfer-Encoding", "binary"); response.setHeader("Content-Disposition","attachment; filename=\""

Java servlet not writing response bytes

痴心易碎 提交于 2020-12-26 09:00:45
问题 I have a few Java servlets (3.x - Tomcat 8) running that generate and return PDF documents. I've never had any problems with any of them. I recently wrote a new servlet to also create and return a PDF document, and this new servlet is using the exact same piece of response code as the others are using: response.reset(); response.setContentType("application/pdf"); response.setHeader("Content-Transfer-Encoding", "binary"); response.setHeader("Content-Disposition","attachment; filename=\""

Java servlet not writing response bytes

安稳与你 提交于 2020-12-26 09:00:38
问题 I have a few Java servlets (3.x - Tomcat 8) running that generate and return PDF documents. I've never had any problems with any of them. I recently wrote a new servlet to also create and return a PDF document, and this new servlet is using the exact same piece of response code as the others are using: response.reset(); response.setContentType("application/pdf"); response.setHeader("Content-Transfer-Encoding", "binary"); response.setHeader("Content-Disposition","attachment; filename=\""

Nginx在windows环境下的安装与简单配置

时光怂恿深爱的人放手 提交于 2020-12-26 06:27:04
版权声明:本文为博主原创文章,未经博主允许不得转载。 一. 下载并安装Nginx 去 Nginx官网下载 我这里选取 nginx/Windows-1.10.3 版本,下载后解压出来即可,解压出来的路径不能含有中文 我解压后将其放置的路径如下 二、开始运行 在当前目录下按住shift+鼠标右键,选择“在此处打开命令窗口”,然后输入start nginx 此时,就可以进入浏览器输入访问地址,http://127.0.0.1/或者http://localhost/即可访问 三、配置文件讲解 核心配置文件就是nginx.conf,该文件位于conf目录下,大部分情况下我们就是修改该文件的配置 该文件的原始配置如下: #user nobody; worker_processes 1; #error_log logs/error.log; #error_log logs/error.log notice; #error_log logs/error.log info; #pid logs/nginx.pid; events { worker_connections 1024; } http { include mime.types; default_type application/octet-stream; #log_format main '$remote_addr - $remote

Connection refused间歇性出现的问题定位

假装没事ソ 提交于 2020-12-26 05:46:47
出现Connection refused的问题原因一般有三种: 1. 服务器的端口没有打开 这种直接就是一直会Connection refused,不会间歇出现,可以直接排除; 2. 服务器的防火墙没有开白名单 很多跟外部对接的时候,是需要将公司出口ip加到对方防火墙白名单,这种也会直接Connection refused,不会间歇出现,可以直接排除; 3. 服务器上的backlog设置的太小,导致连接队列满了,服务器可能会报Connection refused,或者Connecttion reset by peer,这个看服务器上的连接队列满时的设置; 详细的异常堆栈信息如下: 看报错方法: 是个native方法,毫不意外。因为是跟第三方云服务商对接,只能让他们查服务器配置的backlog大小(最后通过将backlog从50调到了4096),这里回顾一下tcp三次握手的过程。 正常的发起请求的三次握手如下: 第一步:client 发送syn到server发起握手; 第二步: server收到syn后回复syn + ack 给client; 第三步:client收到syn + ack后,回复server一个ack表示收到server的syn + ack; Tcp连接详细状态如下图: 1. 服务端调用bind() & listen() 函数后,会监听本地某个端口,例如8080; 2.

SpringBoot底层原理及分析

时光毁灭记忆、已成空白 提交于 2020-12-25 18:36:49
一,Spring Boot简介 1.什么是Spring Boot; SpringBoot是由Pivotal团队提供的框架,其设计目的是用来简化新Spring应用的初始搭建以及开发过程。 该框架使用了特定的方式(继承starter,约定优先于配置)来进行配置,从而使开发人员不再需要定义样板化的配置。通过这种方式,Boot致力于在蓬勃发展的快速应用开发领域(rapid application development)成为领导者。 Spring Boot并不是一个框架,从基本上来说,它就是一些库的集合,Maven或者Gradle项目导入相应依赖即可使用Spring Boot,而且无需自行管理这些库的版本。 2.为什么要使用Spring Boot ; Spring Boot是为简化Spring项目配置而生,使用它使得jar依赖管理以及应用编译和部署更为简单。Spring Boot提供自动化配置,使用Spring Boot,你只需编写必要的代码和配置必须的属性。 使用Spring Boot,只需20行左右的代码即可生成一个基本的Spring Web应用,并且内置了tomcat,构建的fat Jar包通过Java -jar就可以直接运行; 如下特性使得Spring Boot非常契合微服务的概念,可以结合Spring Boot与Spring Cloud和Docker技术来构建微服务并部署到云端: