Nginx负载均衡(反向代理)
7 层负载均衡 7 层就是用域名来进行转发 类似配置文件: vim /etc/nginx/conf.d/xxx.conf 1234567891011121314upstream wordpress { server 192.168.1.20:8000 weight=5 max_fails=3 fail_timeout=30s; server 192.168.1.21:8000 weight=5 max_fails=3 fail_timeout=30s;}server { listen 80 ; server_name wordpress.zahui.fan; location / { proxy_pass http://wordpress; }} 反代到虚拟主机的另一台 Nginx比如现在有一台服务器,部署了 a、b 两个服务,比如 a.com 到 a 服务,b.com 到 b 服务,这种情况我的 Nginx 想要代理 b 服务,就需要指定反代 header...
Linux网络之Bridge和Bond
网桥相当于一台虚拟交换机,你可以把自己的网卡绑定在虚拟交换机上,并把其他接口(比如虚拟机的网络)桥接到这个网卡上面来,相当于大家都是在一个内网里面。 创建网桥方法, 以 Redhat 系为例。 使用 nmtui 创建网桥 删除网卡配置文件可以到 /etc/sysconfig/network-scripts/ 里面删除 ifcfg- 开头的配置 使用 nmtui 创建网桥,并将网卡设备绑定到网桥, 一般关闭生成树协议(STP) 检查 /etc/sysconfig/network-scripts/ 里面有没有多余的配置文件,有的话需要删除以免冲突 网卡和网桥都需要开机自启动 使用配置文件创建网桥 生成 uuid cat /proc/sys/kernel/random/uuid 或者 uuidgen 12345678910111213141516171819202122232425262728293031#!/bin/bashset -euf -o...
notepad++宏功能自动操作文档
notepad++ 是一款 windows 平台的文本编辑器, 比较轻量和功能强大宏功能类似于录像回放, 将自己的操作录制下来, 并进行重复执行, 解放双手 简单操作先看个例子, 我要删除所有的奇数行, 我的操作是: 点击录制, 光标放在第一行, 按下 home 键, 按住 shift 键,再按 end 键 (选中整行), 按一下 delete 键, 为了方便重复执行, 再按两下 ↓, 停止录制 结合搜索功能比如这个文件有几千行, 我要在每个 service 里面添加一条数据 可以这样操作
Linux定时执行任务crontab
crontab 常见的故障处理 常用操作启动停止服务12systemctl start cronsystemctl stop cron 查看所有用户 crontab1cat /etc/passwd | cut -f 1 -d : |xargs -I {} crontab -l -u {} 配置全局配置crontab 在/etc 目录下面存在 cron.hourly、cron.daily、cron.weekly、cron.monthly、cron.d 五个目录, 这些相当于快捷方式, 直接将你的脚本扔进去就可以和 crontab、cron.deny 二个文件。 目录 作用 cron.daily 每天执行 cron.weekly 每周执行 cron.monthly 每月执行 cron.hourly 每小时执行 crontab 系统级任务, 在这里面调用了上面几个 用户配置文件直接使用 crontab -e 编辑就行, -e 使用的编辑器可以通过 select-editor 来指定或者使用...
Linux使用nologin用户执行命令
我们知道可以通过编辑 /etc/passwd 给某些用户设置 shell 为 nologin 或 false 可以阻止这些用户登录但某些时候需要特定的用户来执行命令,可以使用 sudo 或 su 来临时切换用户执行 使用 susu -s 是指定 shell,这里 www 用户默认 shell 是 nologin 这里指定使用 /bin/bash, -c 后面接需要运行的命令 1su www -s /bin/bash -c "mkdir /tmp/111" 使用 sudo使用 www 用户来执行 mkdir /tmp/111 1sudo -u www mkdir /tmp/111
守护进程工具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 none swap sw 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...