CentOS6.7系統最佳化操作流程

來源:互聯網
上載者:User

CentOS6.7系統最佳化操作流程

centos 6 mini安裝(內容極其精簡)

紅帽官方中文文檔

http://docs.redhat.com/docs/zh-CN/Red_Hat_Enterprise_Linux/index.html

預設郵件伺服器就是postfix

升級系統

# yum install epel-release -y

# yum update

精簡服務

1、chkconfig ip6tables off 關閉ipv6防火牆

2、chkconfig iscsi off 關閉iscsi服務

3、chkconfig iscsid off 關閉iscsi相關服務

4、chkconfig netfs off 關閉NFS,smaba和NetWare網路檔案系統

5、chkconfig auditd off linux的審計功能

6、chkconfig nfslock off 關閉TCP/IP網際網路共用檔案的協議的NFS的檔案鎖功能

7、chkconfig rpcgssd off 關閉 NFS v4

8、chkconfig rpcbind off 關閉RPC服務

9、chkconfig rpcidmapd off 關閉 NFS v4

10、chkconfig lvm2-monitor off 關閉系統對Logical Volume Manager 邏輯磁區的支援

11、chkconfig lldpad off 關閉鄰近發現協議

安裝基本配置程式(cronie 為安裝Cron)

# yum install -y setuptool ntsysv system-config-firewall-tui system-config-network-tui cronie wget vim unzip openssh-clients screen rsync ftp telnet (13)

setuptool Python的 distutilsde工具的增強工具(py2.3.5以上 64位py2.4)

ntsysv 設定系統的各種服務

system-config-firewall-tui 命令列使用者介面(TUI)的防火牆用戶端

system-config-network-tui 安裝Fedora網路設定的工具

記錄每次bash命令的執行時間

vi /etc/profile

這個檔案是每個使用者登入時都會啟動並執行環境變數設定,當使用者第一次登入時,該檔案被執行. 並從/etc/profile.d目錄的設定檔中搜集shell的設定。

加入(centos6最好加到第54行)

HISTTIMEFORMAT="%Y-%m-%d %H:%M:%S "

export HISTTIMEFORMAT

安全配置

禁用selinux

編輯# vi /etc/selinux/config

/etc/selinux/config是/etc/sysconfig/selinux軟串連的一個原檔案 提供強制存取控制(MAC)安全系統

SELINUX=disabled

su加固

編輯設定檔

# vi /etc/pam.d/su

大約第六行去掉#

#auth required pam_wheel.so use_uid

禁用非wheel使用者是用su

運行

# echo "SU_WHEEL_ONLY yes" >> /etc/login.defs

SU_WHEEL_ONLY yes 只允許wheel使用者su到root

/etc/login.defs 設定使用者帳號限制的檔案,在這裡我們可配置密碼的最大到期天數,密碼的最大長度約束等內容。該檔案裡的配置對root使用者無效。

設定可以su的使用者到wheel組

# useradd -G wheel yezhiqiu

# passwd yezhiqiu

SSH部分

# vim /etc/ssh/sshd_config

配置sshd伺服器

修改連接埠號碼

大約第13行

1、Port 58022 定義ssh的串連連接埠

不允許用root進行登入

大約第42行

2、PermitRootLogin no

不允許空密碼登入

大約第65行

3、PermitEmptyPasswords no

禁用DNS

大約第81行

4、GSSAPIAuthentication no

大約第122行

5、UseDNS no

最後一行只允許指定使用者登入ssh

6、AllowUsers yezhiqiu

編輯防火牆檔案

# vi /etc/sysconfig/iptables

加入

-A INPUT -m state --state NEW -m tcp -p tcp --dport 58022 -j ACCEPT

重啟服務

# /etc/init.d/sshd restart

# /etc/init.d/iptables restart

添加監控寶的snmpd監控

# yum -y install net-snmp 是一個免費的、開放源碼的網路監控

# vi /etc/snmp/snmpd.conf

# ------添加監控寶帳號------

rocommunity jiankongbao 60.195.249.83 “rocommunity”表示這是一個唯讀存取權限,監控寶只可以從你的伺服器上擷取資訊,而不能對伺服器進行任何設定

“jiankongbao”相當於密碼

如果您使用的是外掛程式 此處的ip 應該安裝採集器的機器的ip

rocommunity jiankongbao 60.195.252.107

rocommunity jiankongbao 60.195.252.110

重啟服務

# /etc/init.d/snmpd start

# chkconfig snmpd on

修改防火牆配置

# vi /etc/sysconfig/iptables

# ------添加防火牆規則------

-A INPUT -p udp -m udp --dport 161 -j ACCEPT

開啟udp協議

重啟防火牆

# /etc/init.d/iptables restart

校時

# yum install -y ntp

# /usr/sbin/ntpdate time.nist.gov IP為時間伺服器IP

硬體同步

# /sbin/hwclock --systohc

加入備份指令碼

# crontab -e

5 */6 * * * /usr/sbin/ntpdate time.nist.gov > /dev/null 2>&1

有些機房禁用UDP 可以使用rdate

# yum install -y rdate

5 */6 * * * /usr/bin/rdate -s stdtime.gov.hk > /dev/null 2>&1

安裝第三方軟體倉庫

EPEL

# wget http://dl.fedoraproject.org/pub/epel/6/x86_64/epel-release-6-8.noarch.rpm

# rpm -ivh epel-release-6-8.noarch.rpm

修改enabled = 0預設不啟用

# vim /etc/yum.repos.d/epel.repo

# yum --enablerepo=epel -y install htop pbzip2

rpmforge逐步淘汰不用

# wget http://pkgs.repoforge.org/rpmforge-release/rpmforge-release-0.5.3-1.el6.rf.x86_64.rpm

# rpm -ivh rpmforge-release-0.5.3-1.el6.rf.x86_64.rpm

修改enabled = 0預設不啟用

# vim /etc/yum.repos.d/rpmforge.repo

# yum --enablerepo=rpmforge -y install htop unrar axel

htop即時監控

unrar 壓縮軟體60%以上壓縮比

axel 一種下載軟體 實行分段下載

最佳化Linux核心參數

# vi /etc/sysctl.conf

是配置一些系統資訊,而且它的內容全部是對應於/proc/sys/這個目錄的子目錄及檔案。

在末尾增加以下內容:

引用

# Add

1、net.ipv4.tcp_max_syn_backlog = 65536

表示用於向外串連的連接埠範圍。預設情況下很小:32768到61000,改為1024到65000。

2、net.core.netdev_max_backlog = 32768

每個網路介面接收資料包的速率比核心處理這些包的速率快時,允許送到隊列的資料包的最大數目

3、net.core.somaxconn = 32768

定義了系統中每一個連接埠最大的監聽隊列的長度,這是個全域的參數,預設值為1024

4、net.core.wmem_default = 8388608

該檔案指定了發送通訊端緩衝區大小的預設值(以位元組為單位)。

5、net.core.rmem_default = 8388608

該檔案指定了接收通訊端緩衝區大小的預設值(以位元組為單位)

6、net.core.rmem_max = 16777216

指定了接收通訊端緩衝區(接收視窗)大小的最大值(以位元組為單位) 最大的TCP資料接收緩衝

7、net.core.wmem_max = 16777216

指定了發送通訊端緩衝區(接收視窗)大小的最大值(以位元組為單位) 最大的TCP資料發送緩衝

8、net.ipv4.tcp_timestamps = 0

以一種比重發逾時更精確的方法(請參閱 RFC 1323)來啟用對 RTT 的計算;為了實現更好的效能應該啟用這個選項,時間戳記在(請參考RFC 1323)TCP的包頭增加12個位元組

9、net.ipv4.tcp_synack_retries = 2

syn-ack握手狀態重試次數,預設5,遭受syn-flood(Dos與DDos)攻擊時改為1或2

10、net.ipv4.tcp_syn_retries = 2

外向syn握手重試次數,預設4

11、net.ipv4.tcp_tw_recycle = 1

預設0,tw快速回收

12、#net.ipv4.tcp_tw_len = 1

表示開啟重用。允許將TIME-WAIT sockets 重新用於新的TCP串連,預設為0,表示關閉

13、net.ipv4.tcp_tw_reuse = 1

表示開啟重用。允許將TIME-WAIT sockets重新用於新的TCP串連,預設為0,表示關閉;

14、net.ipv4.tcp_mem = 94500000 915000000 927000000

確定 TCP 棧應該如何反映記憶體使用量;每個值的單位都是記憶體頁(通常是 4KB)。第一個值是記憶體使用量的下限。第二個值是記憶體壓力模式開始對緩衝區使用應用壓力的上限。

第三個值是記憶體上限。在這個層次上可以將報文丟棄,從而減少對記憶體的使用。對於較大的 BDP 可以增大這些值(但是要記住,其單位是記憶體頁,而不是位元組)

15、net.ipv4.tcp_max_orphans = 3276800

系統中最多有多少個TCP通訊端不被關聯到任何一個使用者檔案控制代碼上。如果超過這個數字,孤兒串連將即刻被複位並列印出警告資訊。

這個限制僅僅是為了防止簡單的DoS攻擊,你絕對不能過分依靠它或者人為地減小這個值,更應該增加這個值(如果增加了記憶體之後)

16、#net.ipv4.tcp_fin_timeout = 30

表示如果通訊端由本端要求關閉,這個參數決定了它保持在FIN-WAIT-2狀態的時間。

17、#net.ipv4.tcp_keepalive_time = 120

表示當keepalive起用的時候,TCP發送keepalive訊息的頻度。預設是2小時,改為20分鐘。

18、net.ipv4.ip_local_port_range = 1024 65535

指定連接埠範圍的一個配置,預設是32768 61000

目前可以確定的是

#######

19、fs.aio-max-nr = 1048576

同時可以擁有的的非同步IO請求數目

20、fs.file-max = 6815744

系統中可以同時開啟的檔案數目。

21、kernel.shmall = 2097152

參數是控制共用記憶體頁數

22、kernel.shmmax = 536870912

核心參數定義單個共用記憶體段的最大值

23、kernel.shmmni = 4096

整個系統共用記憶體段的最大數目。

24、kernel.sem = 250 32000 100 128

表示設定的訊號量,這4個參數內容大小固定。

25、net.ipv4.ip_local_port_range = 9000 65500

表示用於向外串連的連接埠範圍。預設情況下很小:32768到61000,改為1024到65000。

26、net.core.rmem_default = 262144

該檔案指定了接收通訊端緩衝區大小的預設值(以位元組為單位)。

27、net.core.rmem_max = 4194304

指定了接收通訊端緩衝區(接收視窗)大小的最大值(以位元組為單位) 最大的TCP資料接收緩衝

28、net.core.wmem_default = 262144

該檔案指定了發送通訊端緩衝區大小的預設值(以位元組為單位)。

29、net.core.wmem_max = 1048586

指定了發送通訊端緩衝區(接收視窗)大小的最大值(以位元組為單位) 最大的TCP資料發送緩衝

#######

使配置立即生效:

/sbin/sysctl -p

-p 從指定的檔案載入系統參數,如不指定即從/etc/sysctl.conf中載入;

調整ulimit

# vi /etc/security/limits.conf

Linux PAM中 pam_limits.so 的設定檔,而且只針對於單個會話。

在檔案末加上:

* soft nofile 65535

* hard nofile 65535

soft nofile:單個使用者可用的最大進程數量(軟式節流)

hard nofile:單個使用者可用的最大進程數量(硬限制)

# vi /etc/security/limits.d/90-nproc.conf

修改

* soft nproc 1024

* soft nproc 65535

soft nproc: 可開啟的檔案描述符的最大數(軟式節流)

hard nproc: 可開啟的檔案描述符的最大數(硬限制)

設定logwatch發給指定郵箱

# yum install logwatch -y logwatch 日誌監視器

# echo "MailTo = yezhiqiu.cn@gmail.com" >>/etc/logwatch/conf/logwatch.conf

添加

MailTo = yezhiqiu.cn@gmail.com

刪除對httpd的日誌分析在 /usr/share/logwatch/default.conf/logwatch.conf加入大約在86行

Service = "-http"

不監控的服務前面加 “-” , 如 -httpd , 即不監控 httpd 服務 , 可以寫多條

如果需要自己編譯軟體

# yum install gcc gcc-c++ make automake autoconf patch

LAMP伺服器做如下步驟:

# yum --enablerepo=epel install cronolog

cronolog日誌切割工具

# yum install httpd mysql-server

# yum install postgresql-devel mysql-devel httpd-devel openssl-devel libxml2-devel zlib-devel curl-devel libmcrypt-devel mhash-devel libjpeg-devel libpng-devel gd-devel freetype-devel libtool-ltdl-devel

# yum install libevent-devel libc-client-devel readline-devel

# yum install libXpm-devel libxslt-devel krb5-devel net-snmp-devel

# cd /usr/lib64

# ln -s /usr/lib64/mysql/libmysqlclient.so

# yum install php53 php53-gd php53-devel php53-mbstring php53-mysql php53-xml php53-xmlrpc

附:

硬體檢測:

# wget http://aspersa.googlecode.com/svn/trunk/summary

# chmod +x summary

# ./summary

CentOS升級流程:

yum clean all

yum update glibc\* -y

yum update yum\* rpm\* pyth\* -y

yum clean all

yum update mkinitrd nash -y

yum update selinux\* -y

yum update -y

shutdown -r now

安裝常用附加軟體

# yum install screen sysstat iptraf

iptraf :CLI 流量監視軟體

screen:遠端工作階段管理

sysstat:系統效能分析工具包

磁碟IO測試

yum --enablerepo=rpmforge install iozone

去掉atime提高檔案系統效能:

可以在/etc/fstab中增加,noatime,nodiratime參數

降低檔案系統許可權

nosuid,noexec,nodev參數

殺毒軟體

# yum --enablerepo=epel install clamd

升級病毒庫

# freshclam --verbose

# clamscan -i -r /dir

備選庫

http://rpms.famillecollet.com/

可以安裝在centos5等低版本中安裝php-fpm等軟體

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.