lsof -p 1144 查看1144打开文件信息,显示进程打开文件列表,包括文件名称、类型、打开方式、读写位置等信息。这个指令对调试程序、分析文件系统占用情况以及其他相关工作有很大帮助
chattr -ai or +ai +- a只读、i不可变 文件/目录
grep 'Accepted' /var/log/secure 查看登录ip信息
/root/.ssh/authorized_keys ssh登录信任key
cat /etc/passwd 查看新增用户
cat /var/log/cron 查看计划任务执行日志
netstat 间接查看异常连接
crond 读取配置文件会从以下几个路径读取:
var/spool/cron/ , 由crontab -e 进行写入,配置文件无需指定用户
/etc/crontab ,只能root 进行编辑,配置文件需指定用户
/etc/cron.d/ ,在此文件夹下创建定时任务文件,配置文件需指定用户
/etc/cron.*
nginx 日志报错Cannot assign requested address
原因端口号耗尽了。
因Nginx upstream和后端Backend默认是短连接,所以大量请求进来的时产生大量TIME_WAIT连接
cat /proc/sys/net/ipv4/ip_local_port_range 看可用端口范围
短连接模式解决方法:
调大端口可用范围/proc/sys/net/ipv4/ip_local_port_range
开启tcp_tw_reuse echo '1' > /proc/sys/net/ipv4/tcp_tw_reuse 作用使1s内的TIME_WAIT可以重用
调小tcp_max_tw_bucket继续提升tps,不过tcp_max_tw_bucket调小可能会有序列号重叠的风险,毕竟Socket不经过2MSL阶段就被重用了
改成长连接模式避免time_wait:
设置keepalived支持长连接
upstream backend {
server 127.0.0.1:8080;
keepalive 32;
keepalive_timeout 30s; # 设置后端连接的最大idle时间为30s
}