linux系統基礎優化小結

  1. 不用root, 添加普通用戶,經過sudo受權管理linux

  2. 更改默認的遠程ssh服務端口及禁止root用戶遠程登錄nginx

  3. 定時自動更新服務器時間 ntpdateweb

  4. 配置yum更新源,從國內更新源下載安裝軟件,如啊裏雲,163等.http://mirrors.aliyun.com/ http://mirrors.163.com/apache

  5. 關閉selinux vim /etc/sysconfig/selinux 或者 
    sed -i 's/SELINUX=enforcing/SELINUX=disabled/g' /etc/sysconfig/selinuxvim

  6. 調整文件 描述符的數量 ,進程及文件的打開都會消耗文件描述符centos

    vim /etc/security/limits.conf
     ulimit -n 查看
     ulimit -HSn 65535 臨時設置服務器

    echo "* - nofile 65535" >>/etc/security/limits.confcookie

    退出重登錄便可從新查看ssh

  7. 精簡開機自啓動服務(crond,sshd,network,rsyslog(centos5.8 syslog))tcp

  8. 鎖定關鍵系統文件
    chattr +i /etc/passwd /etc/shadow /etc/group /etc/gshadow /etc/inittab

  9. 清空/etc/issue版本信息顯示

  10. linux 內核參數優化/etc/sysctl.conf, 執行sysctl -p生效)

    說明:本優化適合apache,nginx,squid多種等web應用,特殊的業務也可能須要略做調整。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
[root@c64 ~]# vi /etc/sysctl.conf
#by sun in 20131001
net.ipv4.tcp_fin_timeout = 2
net.ipv4.tcp_tw_reuse = 1
net.ipv4.tcp_tw_recycle = 1
net.ipv4.tcp_syncookies = 1
net.ipv4.tcp_keepalive_time =600
net.ipv4.ip_local_port_range = 4000    65000
net.ipv4.tcp_max_syn_backlog = 16384
net.ipv4.tcp_max_tw_buckets = 36000
net.ipv4.route.gc_timeout = 100
net.ipv4.tcp_syn_retries = 1
net.ipv4.tcp_synack_retries = 1
net.core.somaxconn = 16384
net.core.netdev_max_backlog = 16384
net.ipv4.tcp_max_orphans = 16384
#一下參數是對iptables防火牆的優化,防火牆不開會有提示,能夠忽略不理。
net.ipv4.ip_conntrack_max = 25000000
net.ipv4.netfilter.ip_conntrack_max = 25000000
net.ipv4.netfilter.ip_conntrack_tcp_timeout_established = 180
net.ipv4.netfilter.ip_conntrack_tcp_timeout_time_wait = 120
net.ipv4.netfilter.ip_conntrack_tcp_timeout_close_wait = 60
net.ipv4.netfilter.ip_conntrack_tcp_timeout_fin_wait = 120
[root@localhost ~]# sysctl –p    #使配置文件生效

提示:因爲CentOS6.X系統中的模塊名不是ip_conntrack,而是nf_conntrack,因此在/etc/sysctl.conf優化時,須要把net.ipv4.netfilter.ip_conntrack_max 這種老的參數,改爲net.netfilter.nf_conntrack_max這樣才能夠。

即對防火牆的優化,在5.8上是

1
2
3
4
5
6
net.ipv4.ip_conntrack_max = 25000000
net.ipv4.netfilter.ip_conntrack_max = 25000000
net.ipv4.netfilter.ip_conntrack_tcp_timeout_established = 180
net.ipv4.netfilter.ip_conntrack_tcp_timeout_time_wait = 120
net.ipv4.netfilter.ip_conntrack_tcp_timeout_close_wait = 60
net.ipv4.netfilter.ip_conntrack_tcp_timeout_fin_wait = 120

在6.4上是

1
2
3
4
5
6
net.nf_conntrack_max = 25000000
net.netfilter.nf_conntrack_max = 25000000
net.netfilter.nf_conntrack_tcp_timeout_established = 180
net.netfilter.nf_conntrack_tcp_timeout_time_wait = 120
net.netfilter.nf_conntrack_tcp_timeout_close_wait = 60
net.netfilter.nf_conntrack_tcp_timeout_fin_wait = 120

另外,在此優化過程當中可能會有報錯:

一、5.8版本上

1
2
3
4
5
6
error: "net.ipv4.ip_conntrack_max"is an unknown key
error: "net.ipv4.netfilter.ip_conntrack_max"is an unknown key
error: "net.ipv4.netfilter.ip_conntrack_tcp_timeout_established"is an unknown key
error: "net.ipv4.netfilter.ip_conntrack_tcp_timeout_time_wait"is an unknown key
error: "net.ipv4.netfilter.ip_conntrack_tcp_timeout_close_wait"is an unknown key
error: "net.ipv4.netfilter.ip_conntrack_tcp_timeout_fin_wait"is an unknown key

這個錯誤多是你的防火牆沒有開啓或者自動處理可載入的模塊ip_conntrack沒有自動載入,解決辦法有二,一是開啓防火牆,二是自動處理開載入的模塊ip_conntrack

1
2
modprobe ip_conntrack
echo "modprobe ip_conntrack">> /etc/rc.local

   二、6.4版本上

1
2
3
4
5
6
error: "net.nf_conntrack_max"isan unknown key
error: "net.netfilter.nf_conntrack_max"isan unknown key
error: "net.netfilter.nf_conntrack_tcp_timeout_established"isan unknown key
error: "net.netfilter.nf_conntrack_tcp_timeout_time_wait"isan unknown key
error: "net.netfilter.nf_conntrack_tcp_timeout_close_wait"isan unknown key
error: "net.netfilter.nf_conntrack_tcp_timeout_fin_wait"isan unknown key這個錯誤多是你的防火牆沒有開啓或者自動處理可載入的模塊ip_conntrack沒有自動載入,解決辦法有二,一是開啓防火牆,二是自動處理開載入的模塊ip_conntrack

1
2
modprobe nf_conntrack
echo "modprobe nf_conntrack">> /etc/rc.local

          三、6.4版本上

1
2
3
error: "net.bridge.bridge-nf-call-ip6tables"isan unknown key
error: "net.bridge.bridge-nf-call-iptables"isan unknown key

error: "net.bridge.bridge-nf-call-arptables"isan unknown key


這個錯誤是因爲自動處理可載入的模塊bridge沒有自動載入,解決辦法是自動處理開載入的模塊ip_conntrack


1
2
modprobe bridge
echo "modprobe bridge">> /etc/rc.local


更多可查看 http://oldboy.blog.51cto.com/2561410/988726

相關文章
相關標籤/搜索