分类 linux 下的文章

Docker 是一个容器化平台,允许您快速构建、测试和部署应用程序,因其可移植、轻量, 因此容器几乎可以在任何地方运行。

接下李我们将解释如何在Debian 10 Buster上安装Docker并了解基本的Docker概念和命令。

安装

在安装Docker之前, 需要添加Docker的私有仓库。安装必要的依赖包:

$ sudo apt update
$ sudo apt install apt-transport-https ca-certificates curl software-properties-common gnupg2

- 阅读剩余部分 -

HTTP是一种能够获取如 HTML 这样的网络资源的 protocol(通讯协议)。它是在 Web 上进行数据交换的基础,是一种 client-server 协议,也就是说,请求通常是由像浏览器这样的接受方发起的。一个完整的Web文档通常是由不同的子文档拼接而成的,像是文本、布局描述、图片、视频、脚本等等。

Web Flow

- 阅读剩余部分 -

cpu 常见的架构有 NUMA、SMP、MPP, 程序性能很大程度上跟CPU架构相关。

SMP

SMP (Symmetric Multiprocessing) , 对称多处理器. 在SMP中所有的处理器都是对等的, 它们通过总线连接共享同一块物理内存,这也就导致了系统中所有资源(CPU、内存、I/O等)都是共享的,这就带来一个问题, 所有资源不可避免的产生竞争。总体来说架构相对简单,但是扩展能力很差。

NUMA

NUMA ( Non-Uniform Memory Access),非均匀访问存储模型,SMP 因为多个 CPU 访问同一块内存池经常发生冲突,NUMA 架构的目的将CPU的资源分开管理,以 node 为单位进行切割,每个node 里有着独有的core ,memory 等资源,这也将大大降低系统层面的资源竞争,在性能上有不小的提升,任何事物都有好的方面, 也有差的一面, 2个 node 之间的资源交互非常慢,当 CPU 大幅增加的情况下,性能提升的幅度并不是很高。

- 阅读剩余部分 -

virtualenv is a tool to create isolated Python environments. Since Python 3.3, a subset of it has been integrated into the standard library under the venv module.

virtualenv是一个用于创建隔离Python环境的工具。从3.3版本开始, 标准库实现了virtualenv的一个功能子集,社区应该是考虑在标准库中集成virtualenv, 不过到目前为止,也近仅仅是个功能子集,完整的功能使用还是需要使用 pip 安装 virtualenv 包才行。

virtualenv主要是解决依赖冲突问题,如果操作系统版本的某个lib库版本较高, 和应用的低版本lib不兼容,那这时候在不影响系统python lib库的同时还能完美的支持应用的调试和使用,将非常方便python开发。也用于模拟不同的python版本环境, 比如Python 2X/3X, 这种大版本的不兼容问题隔离验证。

- 阅读剩余部分 -

维基百科 Filesystem Hierarchy Standard 有一段介绍 /run 和 /var/run 目录的说明

Modern Linux distributions include a /run directory as a temporary filesystem (tmpfs) which stores volatile runtime data, following the FHS version 3.0. According to the FHS version 2.3, such data were stored in /var/run but this was a problem in some cases because this directory is not always available at early boot. As a result, these programs have had to resort to trickery, such as using /dev/.udev, /dev/.mdadm, /dev/.systemd or /dev/.mount directories, even though the device directory isn't intended for such data.[23] Among other advantages, this makes the system easier to use normally with the root filesystem mounted read-only. For example, below are the changes Debian made in its 2013 Wheezy release:[24]

/run 目录是一个临时文件系统, 存储是启动以来的信息.当系统重启时,这个目录下的文件应该被删掉或清除.如果你的系统上有/var/run目录,应该让它指向run.

- 阅读剩余部分 -

CentOS yum工具如果开启了fastmirror插件,会自动查找最近的源以供使用,有时候有更好的源供选择,希望指向固定的epel源.

禁用fastmirror插件

编辑

/etc/yum/pluginconf.d/fastestmirror.conf 

将内容修改为:

# 1 - 开启
# 0 - 关闭
enabled = 0

修改 Base 仓库源

国内目前镜像源比较丰富了,各个云厂商大都提供公共的镜像源对外使用.比如腾讯/网易/阿里等等,根据自己的网络条件和喜欢选择即可, 个人一般倾向使用清华的源, 开源镜像仓库比较丰富.
在清华的镜像站点上对各个源的使用皆有帮助信息, 参考网址:https://mirrors.tuna.tsinghua.edu.cn

- 阅读剩余部分 -

由于安全限制, 我们需要访问远端大量的服务地址和不同端口,因此需要端口转发.但为每个端口分别创建本地端口又异常麻烦, 所以希望尽量简化这个过程.动态端口转发绑定了一个本地端口,而目标地址:目标端口则是不固定的.

ssh该功能是由 DynamicForward 在控制,可以通过命令行直接指定, 也可以通过 ~/.ssh/ssh_config 来配置.

命令行直接配置:

ssh -D localhost:5963 root@192.168.56.10

- 阅读剩余部分 -

rdesktop是一个开源软件,使您可以使用RDP远程桌面协议从Linux计算机连接和管理远程Windows桌面.要使rdesktop能够连接到Windows计算机,需要开启相关Windows配置.

  • 防火墙打开 RDP 服务端口 3389
  • 开启Windows的远程桌面
  • 用户启用密码登陆

在Linux上安装 rdesktop:

  • Centos
yum -y install rdesktop
  • Debian/Ubuntu
apt -y install rdesktop
  • Gentoo
emerge -a net-misc/rdesktop

- 阅读剩余部分 -

HAProxy是一个免费的负载均衡软件,可以运行于大部分主流的Linux操作系统上。HAProxy提供了L4(TCP)和L7(HTTP)两种负载均衡能力,具备完善的扩展能力, 性能和稳定性都非常好。

HAProxy常用功能:

  • 负载均衡:L4和L7两种模式,支持RR/静态RR/LC/IP Hash/URI Hash/URL_PARAM Hash/HTTP_HEADER Hash等丰富的负载均衡算法
  • 健康检查:支持TCP和HTTP两种健康检查模式
  • 会话保持:对于未实现会话共享的应用集群,可通过Insert Cookie/Rewrite Cookie/Prefix Cookie,以及上述的多种Hash方式实现会话保持
  • SSL:HAProxy可以解析HTTPS协议,并能够将请求解密为HTTP后向后端传输
  • HTTP请求重写与重定向
  • 监控与统计:HAProxy提供了基于Web的统计信息页面,展现健康状态和流量数据。

- 阅读剩余部分 -