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 = [email protected]" >>/etc/logwatch/conf/logwatch.conf

添加

MailTo = [email protected]

刪除對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等軟件


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章