linux服务器优化配置

一、服务器网络配置

1、服务器IP地址配置 
/etc/sysconfig/network-scripts/ ifcfg-eth0/1/2…. 
重启网卡命令:
service network restart或者 /etc/init.d/network restart 
2、网关/主机名配置 
/etc/sysconfig/network 
3、DNS配置 
/etc/resolv.conf 
4、HOSTS文件配置
/etc/hosts

二、网络安全配置

1、Selinux 配置(如何关闭selinux)

cat  /etc/selinux/config 
SELINUX的状态: 
enforcing 开启状态 permissive 提醒的状态  disabled 关闭状态 命令行关闭:setenforce  0 

2、iptables配置

/etc/sysconfig/iptables
推荐配置: 
iptables -P INPUT ACCEPT iptables -F  
iptables -A INPUT -p tcp -m tcp --dport 80 -j ACCEPT 
iptables -A INPUT -s 1.1.1.1  -p tcp -m tcp --dport 22 -j ACCEPT 
iptables -A INPUT -s 2.2.2.2  -p tcp -m tcp --dport 22 -j ACCEPT 
iptables -A INPUT -i eth1 -j ACCEPT iptables -A INPUT -i lo -j ACCEPT  
iptables -A INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT 
iptables -A INPUT -p tcp -m tcp --tcp-flags FIN,SYN,RST,PSH,ACK,URG NONE -j DROP 
iptables -A INPUT -p tcp -m tcp --tcp-flags FIN,SYN FIN,SYN -j DROP 
iptables -A INPUT -p tcp -m tcp --tcp-flags SYN,RST SYN,RST -j DROP 
iptables -A INPUT -p tcp -m tcp --tcp-flags FIN,RST FIN,RST -j DROP 
iptables -A INPUT -p tcp -m tcp --tcp-flags FIN,ACK FIN -j DROP 
iptables -A INPUT -p tcp -m tcp --tcp-flags PSH,ACK PSH -j DROP 
iptables -A INPUT -p tcp -m tcp --tcp-flags ACK,URG URG -j DROP  
iptables -P INPUT DROP
iptables -P OUTPUT ACCEPT 
iptables -P FORWARD DROP

查看iptables策略:

iptables –L –n

三、系统登录安全与 SSH 配置

1、授权用户登录与sudo设定

/etc/sudoers文件 
  =    
常见配置: 
iiveylinux    ALL=(ALL)     NOPASSWD: ALL  

2、ssh 安全登录经验

备份:cp /etc/ssh/sshd_config sshd_config_bak(运维必备守则) 
vi /etc/ssh/sshd_config 
#SSH 链接默认端口 
#丌使用DNS 反查,可提高ssh连接速度 
UseDNS no 
#关闭 GSSAPI验证,可提高ssh连接速度 
GSSAPIAuthentication no 
#禁止 root账号登陆 
PermitRootLogin no

四、更新 yum 源以及软件版本

1、常用的几个yum源

epel 源:https://fedoraproject.org/wiki/EPEL 
repoforge 源:http://repoforge.org/use/  
rpm –ivh  https://dl.fedoraproject.org/pub/epel/epel-release-latest-6.noarch.rpm

2、升级系统内核以及更新软件

清空 yum 缓存 yum clean all 生存缓存 yum makecache 开始更新系统以及内核 yum upgrade 必备软件 yum -y install ntpdate wget 

五、调整服务器时间 NTP 设置

1、通过crontab设置时间同步

推荐时间服务器:ntp.sjtu.edu.cn /usr/sbin/ntpdate ntp.sjtu.edu.cn >> /var/log/ntp.log 2>&1; /sbin/hwclock –w  

2、架设ntp server

关注两个文件: /etc/ntp/ntpserver.conf /etc/ntp.conf

六、系统资源调优

1、关注ulimit命令

ulimit –n(最大打开文件数) 
常见案例日志:java.net.SocketException: Too many open files
相关配置文件: 
/etc/security/limits.conf 
/etc/security/limits.d/90-nproc.conf(centos6.x 版本) 
*         soft    nofile         65536 *         hard    nofile         65536 ulimit  -u(最大用户数) 
*         soft    nproc     65536 root       soft    nproc     unlimited  

2、系统内核参数调优

常见案例日志:kernel: ip_conntrack: table full, dropping packet 
ip_conntrack_max 参数 
/proc/sys/net/ipv4/netfilter/ip_conntrack_max  或者 
/proc/sys/net/ipv4/ip_conntrack_max (centos5.x) 
/proc/sys/net/netfilter/nf_conntrack_max(centos6.x)  
在/etc/sysctl.conf加入 
net.ipv4.netfilter.ip_conntrack_max = 655360(centos5.x) 
net.nf_conntrack_max = 100000(centos6.x)  
swappiness参数  
表示使用 swap的概率,此值越大,表示使用swap的概率越大。推荐配置如下: 
查看目前配置:cat /proc/sys/vm/swappiness 
添加如下内容到/etc/sysctl.conf 
vm.swappiness=10
表示当内存使用率超过(100-10)90%时,才开始使用swap。 
我们线上 web服务器配置参考(每天 3亿的量) 
net.ipv4.conf.lo.arp_ignore = 1 
net.ipv4.conf.lo.arp_announce = 2 
net.ipv4.conf.all.arp_ignore = 1 
net.ipv4.conf.all.arp_announce = 2 
net.ipv4.tcp_tw_reuse = 1 
net.ipv4.tcp_tw_recycle = 1 
net.ipv4.tcp_fin_timeout = 10  
net.ipv4.tcp_max_syn_backlog = 20000 
net.core.netdev_max_backlog =  32768 
net.core.somaxconn = 32768  
net.core.wmem_default = 8388608 
net.core.rmem_default = 8388608 
net.core.rmem_max = 16777216 
net.core.wmem_max = 16777216  
net.ipv4.tcp_timestamps = 0 
net.ipv4.tcp_synack_retries = 2 
net.ipv4.tcp_syn_retries = 2 
net.ipv4.tcp_syncookies = 1  
net.ipv4.tcp_tw_recycle = 1 
net.ipv4.tcp_tw_reuse = 1  
net.ipv4.tcp_mem = 94500000 915000000 927000000 
net.ipv4.tcp_max_orphans = 3276800  
net.ipv4.tcp_fin_timeout = 10 
net.ipv4.tcp_keepalive_time = 120 
net.ipv4.ip_local_port_range = 1024  65535 
net.ipv4.tcp_max_tw_buckets = 80000 
net.ipv4.tcp_keepalive_time = 120 
net.ipv4.tcp_keepalive_intvl = 15 
net.ipv4.tcp_keepalive_probes = 5  
net.ipv4.conf.lo.arp_ignore = 1 
net.ipv4.conf.lo.arp_announce = 2 
net.ipv4.conf.all.arp_ignore = 1 
net.ipv4.conf.all.arp_announce = 2
net.ipv4.tcp_tw_reuse = 1 
net.ipv4.tcp_tw_recycle = 1 
net.ipv4.tcp_fin_timeout = 10  
net.ipv4.tcp_max_syn_backlog = 20000 
net.core.netdev_max_backlog =  32768 
net.core.somaxconn = 32768  
net.core.wmem_default = 8388608 
net.core.rmem_default = 8388608 
net.core.rmem_max = 16777216 
net.core.wmem_max = 16777216  
net.ipv4.tcp_timestamps = 0 
net.ipv4.tcp_synack_retries = 2 
net.ipv4.tcp_syn_retries = 2   
net.ipv4.tcp_mem = 94500000 915000000 927000000 
net.ipv4.tcp_max_orphans = 3276800  
net.ipv4.ip_local_port_range = 1024  65535 
net.ipv4.tcp_max_tw_buckets = 500000 
net.ipv4.tcp_keepalive_time = 60 
net.ipv4.tcp_keepalive_intvl = 15 
net.ipv4.tcp_keepalive_probes = 5 
net.nf_conntrack_max = 2097152

七、精简系统服务和开机进程

1、线上朋务器建议开启的服务

crond,network,syslog,sshd、iptables、udev-post、sysstat 
快捷开启方法: 
先关闭所有 
for serv in `chkconfig --list|grep 3:on|awk '{print $1}'`;do chkconfig --level 3 $serv off;done 
然后开启需要的朋务: 
for serv in `crond network syslog sshd iptables udev-post sysstat`;do chkconfig --level 3 $serv on;done 

2、可删除的系统用户和组

#删除不必要的用户 
userdel adm 
userdel lp 
userdel sync 
userdel shutdown 
userdel halt 
userdel news 
userdel uucp 
userdel video 
userdel games 
userdel gopher 
userdel ftp 
#删除不必要的群组 
groupdel adm 
groupdel lp 
groupdel news 
groupdel uucp 
groupdel games 
groupdel dip

你可能感兴趣的:(linux服务器优化配置)