更改yum源和epel源到阿里云
# 备份原来的yum源mv /etc/yum.repos.d/CentOS-Base.repo /etc/yum.repos.d/CentOS-Base.repo.backup# 设置yum源为阿里云wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo# 添加epel源wget -P /etc/yum.repos.d/ http://mirrors.aliyun.com/repo/epel-7.repo# 清理缓存并生成新的缓存yum clean allyum makecache
端口
查看端口占用
netstat -ntlp
根据pid获取进程详细
ps <PID>
查找指定端口
lsof -i tcp:80
服务器信息
网络信息
ifconfig#或使用ip addr
如果提示命令不存在
yum install net-tools
cpu相关
top -c
内存
free -m
硬盘
df -h
防火墙
执行防火墙操作后,必须要调用以下命令重新加载
sudo firewall-cmd --reload
查看防火墙服务状态
systemctl status firewalld
查看防火墙状态
firewall-cmd --state
开启防火墙
systemctl start firewalld
添加端口
sudo firewall-cmd --zone=public --add-port=端口号/tcp --permanent#如果是端口区间sudo firewall-cmd --zone=public --add-port=80-90/tcp --permanent
移除端口
firewall-cmd --zone=public --remove-port=80/tcp --permanent
查看开放的端口
firewall-cmd --list-ports
查看所有信息
firewall-cmd --list-all
特定IP访问特定端口
firewall-cmd --permanent --add-rich-rule="rule family="ipv4" source address="192.168.142.166" port protocol="tcp" port="5432" accept"
192.168.142.166 改为 192.168.142.0/24 表示该IP段内的所有IP都可以访问
删除特定IP访问特定端口
firewall-cmd --permanent --remove-rich-rule="rule family="ipv4" source address="192.168.142.166" port protocol="tcp" port="11300" accept"
磁盘
磁盘占用概况
cd / && df -h
当前目录的占用情况
du -h -x --max-depth=1
文件解压/打包
解压
tar -xzvf *.tar.gz
打包
tar -czf small.tar.gz 文件名或者目录名
服务器优化
修改
/etc/sysctl.conf
在底部添加
#对于一个新建连接,内核要发送多少个 SYN 连接请求才决定放弃,不应该大于255,默认值是5,对应于180秒左右时间net.ipv4.tcp_syn_retries=2#net.ipv4.tcp_synack_retries=2#表示当keepalive起用的时候,TCP发送keepalive消息的频度。缺省是2小时,改为300秒net.ipv4.tcp_keepalive_time=1200net.ipv4.tcp_orphan_retries=3#表示SYN队列的长度,默认为1024,加大队列长度为8192,可以容纳更多等待连接的网络连接数。net.ipv4.tcp_max_syn_backlog = 4096#表示开启SYN Cookies。当出现SYN等待队列溢出时,启用cookies来处理,可防范少量SYN攻击。默认为0,表示关闭net.ipv4.tcp_syncookies = 1#表示开启重用tcp连接。允许将TIME-WAIT sockets重新用于新的TCP连接。默认为0,表示关闭net.ipv4.tcp_tw_reuse = 1#表示开启TCP连接中TIME-WAIT sockets的快速回收。默认为0,表示关闭net.ipv4.tcp_tw_recycle = 1#表示如果套接字由本端要求关闭,这个参数决定了它保持在FIN-WAIT-2状态的时间net.ipv4.tcp_fin_timeout = 30##减少超时前的探测次数net.ipv4.tcp_keepalive_probes=5##优化网络设备接收队列net.core.netdev_max_backlog=3000kernel.pid_max=64000fs.file-max = 640000
修改
/etc/security/limits.conf
在底部增加
* soft nofile 640000* hard nofile 640000root soft nofile 640000root hard nofile 640000
如果有用到supervisord,修改
/etc/supervisord.conf
找到并修改
minfds=640000
如果有用到nginx,修改
/etc/nginx/nginx.conf
user nginx;worker_processes 1;# 增加worker_rlimit_nofileworker_rlimit_nofile 640000;error_log /var/log/nginx/error.log warn;pid /var/run/nginx.pid;events {# 修改worker_connectionsworker_connections 640000;}
验证nginx的 max open files 是否生效
grep 'open files' /proc/$(cat /var/run/nginx.pid)/limits
修改文件
/lib/systemd/system/nginx.service
在 [Service] 节点内添加
LimitNOFILE=700000
重启服务:
sudo systemctl daemon-reload
按需重启服务器,使修改全部生效
reboot
查看连接的汇总信息
netstat -n | awk '/^tcp/ {++S[$NF]} END {for(a in S) print a, S[a]}'
