GCC版本安装或者升级(yum方案)

[root@wkjhost ~]# yum install centos-release-scl
[root@wkjhost ~]# yum install devtoolset-7-gcc*
[root@wkjhost ~]# scl enable devtoolset-7 bash
[root@wkjhost ~]# which gcc
[root@wkjhost ~]# gcc --version

为了提高测试质量与最后把关,决定搭建一个自动化测试平台,基本设想如下:

一、软件地图(测试路径建立)

  1. 前端方面对dom节点记录(建立dom模型)
  2. 流程方面建立站点地图(蜘蛛形式建立)
  3. API方面,结合aws平台(API管理系统)进行搭建地图

二、蜘蛛制作

  1. 抓取站点内容,形成地图
  2. 抓取站点内容做结果分析
  3. 抓取站点内容做代码统计
  4. 抓取站点内容做变化统计

三、搭建自动化测试配置后台

  1. 站点名称、报警邮箱、站点地址、递归次数等
  2. 管理测试结果,多次结果比对等
  3. 接入其他平台授权等

四、前端页面分析

  1. 使用本地正确的页面作为标准,进行抓取,生成dom树型地图
  2. 使用dom型地图进行页面比对,生成dom diff
  3. 对dom diff 分析得到分析结果
  4. 通过dom diff 自动给出解决方案

五、定时执行接口测试

六、报警系统接入

减少重定向: 301、302等

启动gzip压缩

[root@base~]# vi /etc/nginx/conf.d/gzip.conf

gzip on;
gzip_min_length 1k;
gzip_buffers 4 16k;
#gzip_http_version 1.0;
gzip_comp_level 2;
gzip_types text/plain font/* application/javascript application/x-javascript text/css application/xml application/json text/javascript application/x-httpd-php image/jpeg image/gif image/png application/pdf;
gzip_vary off;
gzip_disable "MSIE [1-6]\.";

实现步骤:
1、使用循环加上过滤获取到所有的日志文件
2、使用awk对字符串进行处理(比如:切割)
2-1、使用shell判断文件夹是否存在,如果不存在就创建
2-2、文件存在就先删除文件再写入新文件
3、nginx信号处理
4、定时任务建立(每天00:00)进行处理(/usr/local/bin/backup_log是shell文件的全路径)

0 0 * * * /usr/local/bin/backup_log.sh

备注:
1、日志放在/var/www/logs下面
2、日志命名为:[域名]-access.log 和 [域名]-error.log

/usr/local/bin/backup_log.sh代码如下

#!/bin/bash
# use this to backup log
# /usr/local/bin/backup_log.sh
# author: wkj

NGINX_PATH=/etc/nginx/
LOG_PATH=/var/www/logs/
NGINX_PID=/run/nginx.pid
YESTERDAY=`date +%F -d -1day`
cd $LOG_PATH
for logName in `ls ./ | grep .log`
    do
        logPath=`echo $logName|awk -F'-' '{print $1}'`
        fileType=`echo $logName|awk -F'-' '{print $2}'`
        logPathR=${LOG_PATH}${logPath}
        if [ ! -d $logPathR ];then
            mkdir $logPathR
        fi
        fileName=${logPathR}/${YESTERDAY}-${fileType}
        if [ -f $fileName ];then
            rm -f $fileName
        fi
        mv $logName $fileName
    done

kill -USR1 `cat ${NGINX_PID}`

mariadb基础命令

查看数据表的数据表的物理路径
MariaDB [(none)]> show global variables like '%datadir%'

使用'READ-COMMITTED'作为默认隔离级别
MariaDB [(none)]> SET GLOBAL tx_isolation='READ-COMMITTED';

创建用户并授权(把newddb数据库分配给adduser用户并设置密码为:adduser123)
MariaDB [(none)]> grant all privileges on newddb.* to adduser@'localhost' identified by 'adduser123';

创建utf8mb4编码的数据库(数据库名称:newdb)
MariaDB [(none)]> CREATE DATABASE newdb DEFAULT CHARSET utf8mb4 COLLATE utf8mb4_general_ci;

创建utf8编码的数据库(数据库名称:newdb)
MariaDB [(none)]> CREATE DATABASE newdb DEFAULT CHARSET utf8 COLLATE utf8_general_ci;

刷新权限表
MariaDB [(none)]> flush privileges;

删除用户(用户名:testuser)
MariaDB [(none)]> drop user testuser

删除数据库(用户名:testdb)
MariaDB [(none)]> drop database testdb

查看连接数
[root@wkjhost ~]# mysqladmin -uroot -p123 processlist

查看配置遍历
MariaDB [(none)]> show variables like '%query_cache%'

初始化数据库密码: root_pwd
[root@wkjhost ~]# mysql_secure_installation

centos7安装mariadb 10

添加 MariaDB 的YUM配置文件MariaDB.repo文件
[root@wkjhost ~]# vi /etc/yum.repos.d/MariaDB.repo

[mariadb]
name = MariaDB
baseurl = http://yum.mariadb.org/10.2/centos7-amd64
gpgkey=https://yum.mariadb.org/RPM-GPG-KEY-MariaDB
gpgcheck=1

安装 MariaDB
[root@wkjhost ~]# yum install MariaDB-server -y

mariadb基础命令问题解决

数据库启动不了

查看数据库日志
[root@wkjhost ~]# vi /var/log/mariadb/mariadb.log

进入数据库的数据目录,清除logfile文件
[root@wkjhost ~]# rm -f /uar/lib/mysql/ib_logfile*

检查数据库端口是否被占用
[root@wkjhost ~]# netstat -tunpl | grep 3306

数据库进不去(密码不正确)

停止数据库服务
[root@wkjhost ~]# systemctl stop mariadb

跳过权限表进行启动(登录数据库就不用密码)
[root@wkjhost ~]# mysqld_safe --skip-grant-tables &

直接登录数据库(直接点击确定就行)
[root@wkjhost ~]# mysql -uroot -p

修改密码
MariaDB [(none)]> update mysql.user set password=password("root_pwd") where user="root";
MariaDB [(none)]> quit

杀死mysql进程,启动mysql服务
[root@wkjhost ~]# kill `netstat -tunpl | grep 3306 | awk -F' ' '{ print $7 }'|awk -F'/' '{print $1}'`
[root@wkjhost ~]# systemctl start mariadb

Mysql8密码问题

问题:发现登录不了,报错:navicat不支持caching_sha_password加密方式
原因:mysql8.0使用新的密码加密方式:caching_sha_password
解决方式:修改成旧的加密方式(mysql_native_password),并重置密码

select host,user,plugin from user;
alter user 'root'@'%' identified with mysql_native_password by 'root';

SQL语句收集

把table_name表中的key字段中的“table.”修改为“entity.”的sql语句

UPDATE `table_name` SET `key` = REPLACE(`key`, 'table.', 'entity.') WHERE `key` LIKE 'table.%';

Mac系统是10.12以上,开启允许第三方程序安装:

在终端中运行如下的命令
sudo spctl --master-disable

mac主机名

查看主机名:echo $HOSTNAME
修改主机名(wkjmac是主机名):sudo scutil --set HostName wkjmac

安装软件安装工具Homebrew(安装之后才能使用brew安装软件)

/usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"

/usr/bin/ruby -e "$(curl -fsSL https://cdn.jsdelivr.net/gh/ineo6/homebrew-install/install)"

清除DNS缓存

sudo killall -HUP mDNSResponder
sudo dscacheutil -flushcache

快捷键收集

睡眠: option + command + output
显示多任务: 在鼠标上两个手指轻轻点击两下
放大视口: 在鼠标上一个手指轻轻点两下
缩小窗口: command + m

code命令打开VS code

安装code:打开VSCode –> command+shift+p –> 输入shell command –> 点击提示Shell Command: Install ‘code’ command in PATH运行
使用:打开终端,cd到要用VSCode打开的文件夹,然后输入命令code .即可打开

在终端中打开文件夹

open .

打开多个终端

打开新标签快捷键: command + t
新建终端快捷键: command + n

文件位置

hosts文件位置: /private/etc/hosts

快捷键

撤销: command + z
反撤销: command + shift + z
跳到行末尾: control + e

chrome中快捷键

开发者工具:option + command + i
javascript控制台: option + command + j
查看源码:option + command + u
强制刷新:shift + command + r

mac系统下的Rootless机制,让我们在root权限下也不能随心所欲的读写所有路径了,特殊情况下我们需要关闭Rootless时,可尝试如下操作: 

  1. 重启按住 Command+R,进入恢复模式,打开Terminal。 
  2. 键入命令 csrutil disable 
  3. reboot 
    Rootless机制是对抗恶意程序的最后防线,除非特殊需要时我们才将其关闭,否则保持开启状态

csrutil enable

mac显示隐藏文件与文件夹

命令窗口中运行:defaults write com.apple.finder AppleShowAllFiles -boolean true ; killall Finder

使用brew clearup 出错(Error: Permission denied @ apply2files)

# 把目录的所有者修改为当前用户
sudo chown -R $(whoami) /usr/local

修改brew源指向国内

使用中科大的镜像(替换默认源)

  • 第一步,替换brew.git
cd "$(brew --repo)"
git remote set-url origin https://mirrors.ustc.edu.cn/brew.git
  • 第二步:替换homebrew-core.git
cd "$(brew --repo)/Library/Taps/homebrew/homebrew-core"
git remote set-url origin https://mirrors.ustc.edu.cn/homebrew-core.git
  • 第三步:替换homebrew-cask默认源
cd "$(brew --repo)/Library/Taps/homebrew/homebrew-cask"
git remote set-url origin git://mirrors.ustc.edu.cn/homebrew-cask.git
  • 第四步:替换homebrew-bottle默认源
echo 'export HOMEBREW_BOTTLE_DOMAIN=https://mirrors.ustc.edu.cn/homebrew-bottles' >> ~/.bashrc
source ~/.bashrc
  • 最后使用
//更新并现实进度
brew update --verbose 

git使用https克隆仓库的时候每次都需要输入密码

  • 创建并且写入.git-credentials文件
    vi ~/.git-credentials
  • 比如用户名为wkj,密码为wkjpwd, git地址:git.wkj.com
    https://wkj:wkjpwd@git.wkj.com
  • 保存后在终端下执行
    git config --global credential.helper store

Mac中安装Homebrew(解决权限问题Permission denied)

sudo chown -R $(whoami) /usr/local/Cellar

python 命令找不到

brew install python3
brew link python3

alias python3='/usr/bin/python3'
alias python=python3
alias python2=python3