守护进程工具supervisor
安装123apt-get install supervisoryum install supervisorpip install supervisor 配置文件12345678910111213141516171819202122[program:nginx]user=gsw945directory=/data/exec/nginx/sbin/command=/data/exec/nginx/sbin/nginx -g "daemon off;"numprocs=1autostart=trueautorestart=truestartsecs=5startretries=3stopsignal=HUPstopasgroup=truestopwaitsecs=5redirect_stderr=falsestdout_logfile_maxbytes=20MBstdout_logfile_backups =...
Nginx开启基本http认证
Nginx 使用 ngx_http_auth_basic_module 模块支持 HTTP 基本身份验证功能 nginx 配置比如需要/api 路径下的资源需要认证 1234location ^~ /api { auth_basic "authentication"; auth_basic_user_file conf.d/.htpasswd;} 配置密码文件.htpasswd两种方法二选一 使用 htpasswd 生成12345# Ubuntu or Debianapt install apache2-utils# Rhel or CentOS:yum install httpd-tools 生成密码, 密码文件为 .htpasswd 1htpasswd -bcd .htpasswd username password 使用 openssl 生成 echo -n xxx 不打印换行符 123echo -n 'username:' >> .htpasswdopenssl...
Linux性能分析
vmstat 间隔 1s, 一共 5 次 1vmstat 1 5 每一列的说明 1234567891011121314151617181920212223242526Procs(进程):- r: 运行队列中进程数量- b: 等待IO的进程数量Memory(内存):- swpd: 使用虚拟内存大小- free: 可用内存大小- buff: 用作缓冲的内存大小- cache: 用作缓存的内存大小Swap:- si: 每秒从交换区写到内存的大小- so: 每秒写入交换区的内存大小- IO:(现在的Linux版本块的大小为1024bytes)- bi: 每秒读取的块数- bo: 每秒写入的块数system:- in: 每秒中断数,包括时钟中断- cs: 每秒上下文切换数CPU(以百分比表示)- us: 用户进程执行时间(user time)- sy: 系统进程执行时间(system time)- id: 空闲时间(包括IO等待时间)- wa: 等待IO时间 sar安装1yum install sysstat 查看物理网卡占用1sar -n DEV 1 5 sar -n...
Linux虚拟内存swap
增加 swap(文件)创建 swap生成一个空文件 1234567# 创建一个4G的swap文件sudo fallocate -l 4G /swapfile# 或者使用dd命令来创建,建议用fallocate,是瞬间生成的,不像dd真的要写入文件内容。# sudo dd if=/dev/zero of=/swapfile bs=1M count=2048sudo chmod 600 /swapfile 标记成 swap 文件 1sudo mkswap /swapfile 手动挂载 swap12345挂载: sudo swapon /swapfile卸载: sudo swapoff /swapfile 开机自动挂载vim /etc/fstab 添加一行 1/swapfile swap swap defaults 0 0 删除 swap(文件)查看 swap 文件地址1swapon 手动关闭 swap1sudo swapoff /swapfile 删除 swap 文件1sudo rm -f /swapfile 取消开机自动挂载vim /etc/fstab,...
Python环境打包
为什么要打包公司有个远古项目, 用到的是 fabric1.x, 只支持 python2 版本, 并且对环境要求比较苛刻, 而且代码已经无人维护, 这种情况下将包固定下来, 保证代码可以运行 安装 pyenv 环境 pyenv 官网 https://github.com/pyenv/pyenv,pyenv 和其他的虚拟环境不同之处在于它可以安装任意版本的 python 环境(源码编译)所以需要安装编译 python 的环境。 12yum install -y git zlib zlib-devel libffi-devel openssl openssl-devel readline-devel bzip2-devel sqlite-develcurl https://pyenv.run | bash 创建虚拟环境 安装 python2.7.18 的虚拟环境, 此环境只给 fabric 用, 所以就没有添加到环境变量, 以免影响其他 python 程序 123yum install sqlite-devel bzip2-devel...
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...
linux磁盘扩容(非LVM)
LVM 是 Logical Volume Manager 的缩写,中文逻辑卷管理,LVM 是建立在磁盘分区和文件系统之间的一个逻辑层,LVM 会更加灵活,可以动态扩容缩容分区大小。调整分区大小有风险,请做好充分测试再决定是否执行。如果启用了 lvm,请查看 LVM逻辑卷管理那么怎么知道机器有没有启用 LVM 呢,可以执行 sudo lvdisplay 查看有没有已存在的 LV,lsblk 查看现有的文件系统有没有 LVM 网上查到的方法都是使用 fdisk 删除分区后再重新创建, 这种方式会有安全问题, 而 growpart 命令是安全的. 扩容器查看容量大小123[root@elk4 ~]# df -hFilesystem Size Used Avail Use% Mounted on/dev/vdb1 985G 165G 770G 18% /data 如果你要扩容的路径对应的 Filesystem 不是 /dev/sdx 请不要看这篇文章 先增加硬盘容量 需要 growpart 命令,...
zookeeper集群搭建
下载1wget https://dlcdn.apache.org/zookeeper/zookeeper-3.8.4/apache-zookeeper-3.8.4-bin.tar.gz Zookeeper 是为其他分布式程序提供服务的,所以本身自己不能随便就挂了,所以 zookeeper 自身的集群机制就很重要。zookeeper 的集群机制采用的是半数存活机制,也就是整个集群节点中有半数以上的节点存活,那么整个集群环境可用。这也就是说们的集群节点最好是奇数个节点。 1yum install -y java-1.8.0-openjdk 创建配置文件1mkdir -p /data/zookeeper_{log,data} 调整配置文件...
Windows网络管理命令netsh
netsh 是 windows 平台网络管理命令 防火墙设置开启防火墙123456sc config mpsdrv start= autosc config mpssvc start= autosc start mpsdrvsc start mpssvcnetsh advfirewall set allprofiles state on 规则配置12345678:: 拒绝指定IP访问指定端口netsh advfirewall firewall add rule name=BlockRTX dir=in protocol=tcp localport=8000 action=block enable=yes remoteip=192.168.5.2:: 开放一个端口netsh advfirewall firewall add rule name="445" protocol=TCP dir=in localport=445 action=allow:: windows xp 使用netsh firewall set portopening TCP 445...
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 逻辑卷...