补充学习知识点
1 nginx
cp nginx.conf{,.bak}
egrep -v "^$|.*#" nginx.conf.bak > nginx.conf
没做bind域名系统,对于虚拟主机就用/etc/hostsj
scp/sftp
scp source_file_path destination_file_path
#如
scp ./fangning.conf root@192.168.109.4:/etc/nginx/conf.d
sftp remote_user@host:file_path
>get source_file_path destination_file_path
>put source_file_path destination_file_path
批量注释
ctrl+v :进入可视化,选择行
shift+i :编辑
插入#
双击Esc
批量取消注释
ctrl+v :进入可视化,选择行
x
测试后端服务连通性及查看服务
telnet ip port
动静分离抓包分析
tcpdump -i any port 8080 -nnn -AA
** `-n`** :用于抑制将网络地址和端口号解析为对应的主机名和服务名称。它会直接以数字形式显示 IP 地址和端口号
**`-A`** :选项用于捕获和显示应用层的数据。它会尽可能地将数据包中的应用层载荷(如 HTTP 请求和响应内容、FTP 数据等)以 ASCII 字符形式显示出来。这对于分析应用层协议的通信内容非常有用,例如查看 HTTP 请求的头部信息、请求方法、URL 以及响应状态码等。
LNMT分析jps(java进程)的资源使用率
[root@kanyun conf]# jps
40393 Bootstrap
99576 Jps
top -H -p 40393
-H:所有线程占用资源情况。
-p<进程号>:指定进程;
#快捷键
M:根据驻留内存大小进行排序。-------------常用
P:根据CPU使用百分比大小进行排序。-----------常用
H:显示线程
#解释:
Swap:
我们在观察Linux的内存使用情况时,只要没发现用swap的交换空间,就不必担心自己的内存太少。
如果常常看到swap用了很多,那么你就要考虑加物理内存了。这也是在Linux服务器上看内存是否够用的标准。
Nginx性能优化
分析网络(带宽或网络质量问题)
iftop -nn
-nn:不解析地址
#或抓包
查看错误率
netstat -s
netstat -s | egrep -i error
-s:显示每种协议的统计信息
yum安装跳过检验
yum --help | egrep check
--nogpgcheck 禁用 GPG 签名检查
yum -y install iftop --nogpgcheck
2 mysql入门
提取业务数据库(可用于脚本中数据库备份)
mysql -uroot -proot -hxxx.xxx.xxx.xx -e "show databases;" | egrep -v "mysql|info|per|Data"
常用查询用户语句
select user,host,authentication_string from user;
#权限操作后都要刷新
flush privileges;
mysql日志配置(/etc/my.cnf)
[mysqld]
server-id =70#每一台服务器一个唯一标识(或可用自增)
log-bin = /log/mysql/bin/sql_lo6_70
expire_logs_days = 30
basedir=/soft/mysql
datadir=/soft/mysql/data
pid-file=/var/run/mysqld/mysqld.pid
socket=/tmp/mysql.sock
log-error=/log/mysql/err.log
general_log=ON
general_log_file=/log/mysql/select.log
slow_query_log_file=/log/mysql/slow.log
long_query_time=2
log_queries_not_using_indexes
port=3306
character-set-server=utf8
default-storage-engine=innodb
# Disabling symbolic-links is recommended to prevent assorted security risks
symbolic-links=0
#skip-grant-tables
配置后重置
mysql > reset master;
二进制日志中只关注id、开始和结束时间(用于恢复)
对比二进制日志文件区别
vimdiff 005.sql db.sql
数据库备份恢复
bin_log日志作用
#场景描述
假设在凌晨2点备份完毕后,凌晨5点服务器宕机,那么就要使用bin_log日志对这段时间的数据进行恢复
sed -n "22p" /backup/mysql/`date +%F%H`-mysql-all.sql
CHANGE MASTER TO MASTER_LOG_FILE='sql_106_70.000003', MASTER_LOG_POS=154
物理备份命令分析
[root@fangning xtrabackup]# whereis innobackupex
innobackupex: /usr/bin/innobackupex /usr/share/man/man1/innobackupex.1.gz
[root@fangning xtrabackup]# ll /usr/bin/innobackupex
lrwxrwxrwx 1 root root 10 5月 28 23:38 /usr/bin/innobackupex -> xtrabackup
mysql安装包符号链接
符号链接(/soft/mysql)和其目标路径(/soft/mysql-5.7.39-linux-glibc2.12-x86_64/)是两个不同的实体。
默认情况下,chown 命令会修改符号链接目标路径的属主和属组,而不是符号链接本身的属主和属组。
如果需要修改符号链接本身的属主和属组,应使用 chown -h 或 chown --no-dereference 参数。
在实际使用中,通常更关注目标路径的属主和属组,因为符号链接本身通常没有实际的文件内容。

浙公网安备 33010602011771号