使用virtualbox制作符合自己需求vagrant box,之前在网上找了一些教程,有的很是有坑的。今天尝试了一下。用的是centos7.7的mini镜像

 

VirtualBox 先安装 5.2.20(之前安装docker-tool自带的)

Vagrant 再安装 2.2.7

windows 需开启VT-x / AMD-V硬件加速 BIOS 找到 Intel Virtual Technology

下载CentOS-7-x86_64-Minimal-1908.iso镜像

 

  1. 打开VirtualBox安装7的虚拟机,安装自己的需求选择内存和硬盘,这里我选择的内存为3G,硬盘为30G,开发足够了(名称vagrant-centos-77)
  2. 设置root密码为vagrant,非root用户为vagrant密码vagrant
  3. 以root账户登录,设置网络,在这之前应该ping不通外网
    • vi /etc/sysconfig/network-scripts/ifcfg-enp0s3设置NOBOOT,改为yes
    • 最后重启网络  :service network restart
    • 如果ping不通外网把防火墙关闭
    • systemctl stop firewalld.service #停止firewall
    • systemctl disable firewalld.service #禁止firewall开机启动
  4. 配置 vagrant 账号免密操作。在 root 下面增加一行 vagrant ALL=(ALL) NOPASSWD:ALL 保存退出。
    • chmod 0777 /etc/sudoers
    • vi /etc/sudoers
    • 执行 chmod 0440 /etc/sudoers 恢复默认权限。
  5. 配置ssh登录
    • 默认centos7会安装openssh,如果没有安装执行:yum install openssh-server
    • vi /etc/ssh/sshd_config把一下内容取消注释
  6. 下载 vagrant 官网公钥(这个我在做的过程中,发现公钥好像没用了,vagrant会自动生成公钥的),并修改.ssh为vagrant组
  7. 设置共享目录。安装增强功能,在安装之前需要安装编码工具
    • 方法一,手动安装工具
      • yum install -y gcc gcc-c++ make bzip2 kernel kernel-devel
    • 方法二,官方推荐(不过我发现还是需要安装 kernel kernel-devel)
      • yum update
      • yum groupinstall “Development Tools”
      • yum install -y kernel kernel-devel
    • 关机后设置存储,挂上增强包的iso
    • 用root登陆后执行安装 (查看lsscsi (适用于centos7) lsblk  (适用于ubuntu))
    • cd / && mkdir cdrom && mount /dev/cdrom /cdrom
    • cd  /cdrom && ./VBoxLinuxAdditions.run
    • 在安装过程中会有一个错误,原因可以查看日志,好像是桌确实桌面环境的包,网上说要安装xorg-x11-server-Xorg,如果没有图形界面,我不建议装,这个不影响结果,安装包会自动跳过
  8. 配置网络设置,添加一个转到主机2222的端口,好像还要添加一个网卡
    • 网卡一
    • 网卡二
  9. 导出已经安装好的盒子
    • vagrant package –base  虚机中的名字–output  自己给盒子起的名字.box
  10. 验证自己制作的盒子
    • vagrant box add centos77 vagrant-centos-base77.box
    • vagrant init centos77
    • Vagrant up
    • 已经登陆上去了,贴一下我的vagrantfile
  11. 一下为文件 使用 VirtualBox 制作 Vagrant box

如基本的单向加密算法:

  • BASE64 严格地说,属于编码格式,而非加密算法
  • MD5(Message Digest algorithm 5,信息摘要算法)
  • SHA(Secure Hash Algorithm,安全散列算法)
  • HMAC(Hash Message Authentication Code,散列消息鉴别码)

复杂的对称加密(DES、PBE)、非对称加密算法:

  • DES(Data Encryption Standard,数据加密算法)
  • PBE(Password-based encryption,基于密码验证)
  • RSA(算法的名字以发明者的名字命名:Ron Rivest, AdiShamir 和Leonard Adleman)
  • DH(Diffie-Hellman算法,密钥一致协议)
  • DSA(Digital Signature Algorithm,数字签名)
  • ECC(Elliptic Curves Cryptography,椭圆曲线密码编码学)

nginx.conf http { } 里面找位置 加上 $request_body

log_format youName ‘$remote_addr – $remote_user [$time_local] “$request” $status $body_bytes_sent $request_body “$http_referer” “$http_user_agent” $http_x_forwarded_for’;

server 添加访问日志输出

access_log /www/nginx.log youName; # yourName换成你直接的,记得要一一对应 特别是你设置的名字

今天有同事反映所有的接口都打不开了,一台服务器的disk满了,使用du -sh * 或 du -sh /* 查看目录的大小,查找占用空间大的目录/var/spool/clientmqueue….
然后我就想/var/spool/clientmqueue这个目录干嘛用的,纠结了半天,谷歌了下,原来/var/spool/clientmqueue是如果系统中有用户开启了cron,而cron中执行的程序有输出内容,输出内容会以邮件形式发给cron的用户,而sendmail没有启动所以就产生了这些文件。
服务器上确实有cron定时执行数十个脚本,而且都没有设置输出定向,日积月累的文件都被保存在/var/spool/clientmqueue目录下面乐
解决方法:在cron的自动执行语句后加上> /dev/null 2>&1
例:
4 3 * * * /usr/bin/w > /dev/null 2>&1
这样就OK拉,就不会写到那个目录下了….
在这里说一点,/var/spool/clientmqueue目录文件太多,rm -rf *时候会提示:
“-bash: /bin/rm: Argument list too long“..
意思是参数太长,rm 干不了。
可以用ls | xargs rm -f这个命令将/var/spool/clientmqueue目录下所有文件删除。