守护进程工具supervisor
安装 配置文件 这个 directory 用处: 程序路径还是要用绝对路径,但是后面加的参数就可以生效了。 启动多个进程 numprocs=1 大于 1 个进程的时候:需要加上, 比如程序名 test,启动 3 个进程 常用操作重启 daemon 进程 重启服务 重启一组服务重启 test:801-803 重启所有 test 开头的服务 常见问题用 supervisor 守护 Prometheus 发现 Prometheus 经常报错 max open files , 但是操作系统已经将 open files 调整到非常高了。检查下来发现是 supervisor 主配置文件里面限制了 open files 数量 vim /etc/supervisord.conf 其中 minfds 是限制打开的文件描述符, 将值调大即可, 需要重启 supervisord 服务。
Nginx开启基本http认证
Nginx 使用 ngx_http_auth_basic_module 模块支持 HTTP 基本身份验证功能 nginx 配置比如需要/api 路径下的资源需要认证 配置密码文件.htpasswd两种方法二选一 使用 htpasswd 生成 生成密码, 密码文件为 .htpasswd 使用 openssl 生成 echo -n xxx 不打印换行符 openssl 生成的密码也可以用到 linux 的/etc/shadow 里面
Linux性能分析
vmstat 间隔 1s, 一共 5 次 每一列的说明 sar安装 查看物理网卡占用 sar -n 选项使用 6 个不同的开关:DEV,EDEV,NFS,NFSD,SOCK,IP,EIP,ICMP,EICMP,TCP,ETCP,UDP,SOCK6,IP6,EIP6,ICMP6,EICMP6 和 UDP6 ,DEV 显示网络接口信息,EDEV 显示关于网络错误的统计数据,NFS 统计活动的 NFS 客户端的信息,NFSD 统计 NFS 服务器的信息,SOCK 显示套接字信息,ALL 显示所有 5 个开关。它们可以单独或者一起使用。1 表示 1 秒一次, 5 表示一共 5 次 查看 swap
Linux虚拟内存swap
增加 swap(文件)创建 swap生成一个空文件 标记成 swap 文件 手动挂载 swap 开机自动挂载vim /etc/fstab 添加一行 删除 swap(文件)查看 swap 文件地址 手动关闭 swap 删除 swap 文件 取消开机自动挂载vim /etc/fstab, 删除包含 swapfile 的一行 删除 swap(LVM 分区)判断是否是 LVM 分区LVM 分区做 swap,如果你用 centos7 默认安装的话, 就是用的 LV 做 swap,可以 cat /etc/fstab 和 lvdisplay 确认下 上图所示, 就是用的 lv 做 swap 分区 关闭 swap马上关闭: 修改配置永久关闭:vim /etc/fstab 删除包含 swap 的那一行 保守一点,如果 swap 占用空间不要了,lvm 也不动了,那么就到此为止就行。 删除 swap 的 LV 扩容剩下的 LV 动态增加磁盘大小 ext文件系统xfs文件系统RHEL在早期的 RHEL 中,由于 resize2fs 无在线 resize 功能,故额外提供...
Python环境打包
为什么要打包公司有个远古项目, 用到的是 fabric1.x, 只支持 python2 版本, 并且对环境要求比较苛刻, 而且代码已经无人维护, 这种情况下将包固定下来, 保证代码可以运行 安装 pyenv 环境 pyenv 官网 https://github.com/pyenv/pyenv,pyenv 和其他的虚拟环境不同之处在于它可以安装任意版本的 python 环境(源码编译)所以需要安装编译 python 的环境。 创建虚拟环境 安装 python2.7.18 的虚拟环境, 此环境只给 fabric 用, 所以就没有添加到环境变量, 以免影响其他 python 程序 使用虚拟环境安装需要的包 安装完成后在 /root/.pyenv/versions/2.7.18/bin 看到了 fab 可执行程序 创建软链接 这样 fab 的环境就准备好了, 后面只需要把 /root/.pyenv 打包分发给其他机器其实还可以使用 pyinstaller 打包, 不过我感觉没啥必要了.
Windows系统环境变量
环境变量简单来说就是一个键值对,比较常见的是 path 环境变量,定义的是全局程序存放的位置 Windows 查看环境变量 使用 echo %date% 用户环境变量注册表位置:HKEY_CURRENT_USER\Environment 用户环境变量只对当前用户起作用 系统环境变量注册表位置:HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\Control\Session Manager\Environment 常用系统自带变量 变量 类似格式 %COMMONPROGRAMFILES% C:\Program Files\Common Files %COMMONPROGRAMFILES(x86)% C:\Program Files (x86)\Common Files %PROGRAMFILES% C:\Program Files %PROGRAMFILES(X86)% C:\Program Files (x86) %COMSPEC% C:\Windows\System32\cmd.exe %HOMEDRIVE% C:...
linux磁盘扩容(非LVM)
LVM 是 Logical Volume Manager 的缩写,中文逻辑卷管理,LVM 是建立在磁盘分区和文件系统之间的一个逻辑层,LVM 会更加灵活,可以动态扩容缩容分区大小。调整分区大小有风险,请做好充分测试再决定是否执行。如果启用了 lvm,请查看 LVM逻辑卷管理那么怎么知道机器有没有启用 LVM 呢,可以执行 sudo lvdisplay 查看有没有已存在的 LV,lsblk 查看现有的文件系统有没有 LVM 网上查到的方法都是使用 fdisk 删除分区后再重新创建, 这种方式会有安全问题, 而 growpart 命令是安全的. 扩容器查看容量大小 如果你要扩容的路径对应的 Filesystem 不是 /dev/sdx 请不要看这篇文章 先增加硬盘容量 需要 growpart 命令, 没有请安装 Ubuntu和DebianCentOS和Fedora 执行 growpart 命令 最后调整文件系统大小ext文件系统xfs文件系统RHEL在早期的 RHEL 中,由于 resize2fs 无在线 resize 功能,故额外提供了 ext2online。
zookeeper集群搭建
下载 Zookeeper 是为其他分布式程序提供服务的,所以本身自己不能随便就挂了,所以 zookeeper 自身的集群机制就很重要。zookeeper 的集群机制采用的是半数存活机制,也就是整个集群节点中有半数以上的节点存活,那么整个集群环境可用。这也就是说们的集群节点最好是奇数个节点。 创建配置文件 调整配置文件 /data/apache-zookeeper-3.8.4-bin/conf/zoo.cfg myid 配置除了修改 zoo.cfg 配置文件外,zookeeper 集群模式下还要配置一个 myid 文件,这个文件需要放在 dataDir 目录下这个文件里面有一个数据就是 A 的值(该 A 就是 zoo.cfg 文件中 server.A=B:C:D 中的 A),在 zoo.cfg 文件中配置的 dataDir 路径中创建 myid 文件。 不同服务器配置不一样 常用命令
Windows网络管理命令netsh
netsh 是 windows 平台网络管理命令 防火墙设置开启防火墙 规则配置 防火墙配置 修改网络设置修改 ip、dns 等 端口转发启用 IP Helper 服务 开启 IPv4 转发在注册表中修改: 然后重启电脑使其生效。 转发配置 防火墙配置防火墙要允许端口可以被访问
LVM逻辑卷管理
LVM 是 Logical Volume Manager 的缩写,中文逻辑卷管理,LVM 是建立在磁盘分区和文件系统之间的一个逻辑层,LVM 会更加灵活,可以动态扩容缩容分区大小。调整分区大小有风险,请做好充分测试再决定是否执行。如果没有启用 lvm,请查看 linux磁盘扩容 - 非LVM那么怎么知道机器有没有启用 LVM 呢,可以执行 sudo lvdisplay 查看有没有已存在的 LV,对比 df -hT 里面的 Filesystem,也可以用 lsblk 查看有没有 lvm。 记住一点, 如果你的磁盘没有分区并已经在使用中, 那么千万不要使用 fdisk 来分区,会损坏数据!!! LVM 的一些概念PV: 物理卷,比如一个分区,一个磁盘VG: 卷组,将多个 PV 整合在一起,形成一个大的池子LV: 逻辑卷,从 VG 划分出来一个个空间,可以当作分区来看待,可以格式化,可以挂载 常用命令 查看 查看详细信息 扩展 创建 卷组 VG vgs vgdisplay vgextend vgcreate 逻辑卷 LV lvs lvdisplay lvextend...

