应用端口规划

前言 Kubernetes 时代基本不需要担心端口冲突了,但是像我现在公司因为历史原因很难迁移至Kubernetes, 如果一台机器上部署多个应用的情况下,依旧需要对应用端口做一个规划。 云服务器基本上都是按CPU和内存收费。我们的应用基本都是Java应用比较耗内存,开发及测试...

HTTP keep-alive

什么是HTTP keep-alive HTTP keep-alive, 准确的说是HTTP持久连接(HTTP persistent connection),是使用同一个TCP连接来发送和接收多个HTTP请求和响应。 持久连接的好处在于减少了 TCP 连接的重复建立和断开所造成的额外开销。 在 HTTP/1.1 中,所有的连接默认都是持...

TCP keepalive

TCP是面向连接的。创建一个TCP连接,客户端和服务端需要经历三次握手,一旦建立它的期限就是永久,除非其中一方发起关闭。 理想状态下,客户端与服务端建立连接就可以一直用下去,但是在真实的互联网世界没有这么理想: NAT网关、防火墙、代理服务器等网络设备可能会...

抓取指定时间区间的日志

服务器日志有时候比较大,需要抓取某一个时间区间的日志,比如抓取2021年10月1日,12点到12点半的日志。 grep grep "^2021-10-01 12:[0-3]" nohup.log 12 grep "^2021-10-01 12:[0-3]" ...

查看Linux发行版

TL;DR cat /etc/*-release lsb_release -a hostnamectl 1234 cat /etc/*-releaselsb_release -ahostnamectl  我们在讲Linux的时候,我们通常是在说Linu...

Spring Boot 构建docker镜像

Spring官网提供了一个简明的基于SpringBoot项目构建docker镜像的教程(Getting Started | Spring Boot with Docker)。这个教程给我了很大的启发,结合我现在实际项目,又进行一些改造。 引入多阶段构建 原始教程都是基于构建好的jar包做操作,这样就要求宿主机配置好...

Nginx的if

Nginx的配置是一种声明式的配置,虽然有if指令,但是跟传统意义上的编程语言是完全不同的。在实际使用的过程中,使用if指令会产生有很多很奇怪的事情,由其是在对它没有充分了解之前,经常会误用。Nginx官方也提醒在location里使用if是灾难,如果一定要使用if,需要...

Nginx proxy_pass 的URL Mapping

Nginx proxy_pass 的URL Mapping

Nginx 从Web服务器起步,现在越来越多的承担起反向代理服务器和负载均衡器的角色。proxy_pass 也就成了很最常用的指令之一,但是proxy_pass中,请求URI与传递给后端服务器的URI的转化是很容易弄错的地方,本文通过各种示例展示这个URI的转化规则。 一个简单的例子 假设我们有一个前后分离的应用,前端静态文件存放在/srv/www/myapp目录,后端...

在docker内设置内存与CPU限制

0x01 总览 在生产环境中,为了保证服务器不因某一个软件导致服务器资源耗尽,我们会限制软件的资源使用。同样的在使用docker的时候,我们可以对docker镜像限制内存与CPU资源限制。 0x02 使用docker run 时设置资源限制 我们在使用docker run的时候可以直接设置资源限...

Ubuntu切换国内镜像(通用版)

镜像模式 使用镜像模式,apt 命令会自动根据选择服务器所在的国家的镜像。如下脚本默认源使用镜像协议并备份原始文件sources.list到sources.list.backup` sudo sed -E -i.backup 's#^(deb|deb-src) ([^ ]*) (.*)#\1 mirror://mirrors...