linux系統安裝後的優化

    本人初學linux運維,在觀看oldboy視頻教程後,對學習到的知識進行總結,知識內容均出自oldboy視頻教程。

###########################################################################

1.添加用戶。在企業產品環境下,應儘量避免直接到root用戶下操作。

   添加用戶:useradd oldboy  oldboy是自己取的用戶名

   設置用戶密碼:passwd oldboy(交互式設置)或echo "*******"|passwd --stdin oldboy 

   查看當前的用戶 whoami

   用戶切換 su - oldboy root切換到oldboy是不需要密碼的,反過來需要輸入root用戶的密碼。


2.yum源設置。yum安裝軟件,默認下載的rpm包的獲取途徑是國外的官方源,有時爲了提高下載速度,我們需要將yum源改成國內的源。

   國內目前速度較快的常用更新源有 http://mirrors.sohu.com/ 和 http://mirrors.163.com/

代碼如下:

cd /etc/yum.repos.d      進入目錄                 

/bin/mv CentOS-Base.repo CentOS-Base.repo.ori  備份

wget http://mirrors.sohu.com/help/CentOS-Base-sohu.repo  下載   

/bin/mv CentOS-Base-sohu.repo CentOS-Base.repo     替換

wKioL1eymEuj60D0AALInbeM-ic507.png-wh_50

yum upgrade   將軟件更新


3.安裝必要的軟件包 

yum install lrzsz sysstat -y  安裝

rpm -qa sysstat lrzsz      查看

wKiom1eyoMbBE0tHAAI4rdm5vig569.png-wh_50


4.關閉Selinux。Selinux是linux系統中的一個安全機制,有時會給用戶造成很多麻煩。

sed -i 's/SELINUX=enforcing/SELINUX=disabled/' etc/selinux/config  修改

grep SELINUX=disabled /etc/selinux/comfig        確認修改完成(養成良好習慣)      

setenforce 0           臨時生效命令    

getenforce            查看selinux狀態

wKiom1eypBuTlmxuAAFiBgxb4sg797.png-wh_50

**************************注**************************

在用vi命令編輯文件時,按一下鍵盤上的"i"就可以了.這樣你就可以編輯文本,想要退出並保存,先按ESC後輸入:wq即可。

**************************註釋完**********************


5.設定runlevel爲3。運行級別設置

grep 3:initdefault etc/inittab 

id:3:initdefault  

linux運行級別有六個(0-6)

wKioL1eyp82x9P3ZAAEeqAp2My8196.png-wh_50


6.精簡開機啓動。

setup調出設置窗口,在system services中設置啓動項,或者直接輸入ntsysv命令調出system services中的啓動項設置窗口。

wKioL1eyqtyBrG1zAABcAHU3v60284.png

用腳本直接完成,先將所有啓動項關閉,再打開自己想要開機啓動的服務。

LANG=en   轉換字符,避免顯示亂碼

for oldboy in `chkconfig --list|grep 3:on|awk'{print $1}'`;do chkconfig --level 3 $oldboy

off;done  關閉多有開機啓動的服務

for oldboy in crond network syslog sshd ;do chkconfig -- level 3 $oldboy on;done 

設置crond network syslog sshd四個服務開機啓動

chkconfig --list|grep 3:on  查看

wKioL1eysfaS_9ohAADoirx9uMU768.png


7.字符集調整。

  服務端字符調整:

wKiom1ezxeazYzduAAImPZHh9vk663.pngcp /etc/sysconfig/il8n /etc/sysconfig/il8n.ori

echo 'LANG="ZH_CN.GB18030"' >/etc/sysconfig/il8n

cat /etc/sysconfig/il8n      ##檢查是否修改完成

source/etc/sysconfig/il8n 或者 . /etc/sysconfig/il8n

echo $LANG             ##檢查是否生效

  客戶端調整字符集,在CRT軟件中調整

wKiom1ezxy-RLg89AAD1Ge8WNQE570.png


8.時間同步。

  對於centos5可通過/sbin/ntpdate time.nist,gov 命令同步,但是這樣只能同步一次,我們更希望能將時間同步放到定時任務中。操作方法如下:

wKioL1e1NhOSEVGDAADUwhnowtQ360.png

[root@mode ~]# echo '#time sync by oldboy at 2010-2-1'>>/var/spool/cron/root

[root@mode ~]# echo '*/5 * * * * /sbin/ntpdate time.nist,gov >/dev/null 2>&1' >>/var/spool/cron/root


9.加大服務器文件描述符

wKiom1e1U4Cg8tB7AAEG2VIaCJo344.png

wKioL1e1VGCyyUoUAABY1Fl11qo518.png

echo '*       -      nofile      65535 '>>/etc/security/limits.conf 


10.調整內核參數文件/etc/sysctl.conf。

所謂內核優化,主要是在linux系統中針對業務服務應用而進行的系統內核參數優化,優化並無特殊。

說明:本優化適合apache,nginx,squid多種等web應用。

vi /etc/sysctl.conf編輯文件,在文件的最後添加

net.ipv4.tcp_fin_timeout = 2

net.ipv4.tcp_tw_reuse = 1

net.ipv4.tcp_tw_recycle = 1

  ##前三個可以很好解決time_wait過多的方法 減少time_out時間,重用,快速回收 

net.ipv4.tcp_syncookies = 1  ##啓用cookies,防止syn***

net.ipv4.tcp_keepalive_time = 600  

net.ipv4.ip_local_port_range = 4000    65000   ##端口範圍

net.ipv4.tcp_max_syn_backlog = 16384    ##加大syn隊列長多,也可以防止syn***

net.ipv4.tcp_max_tw_buckets = 36000    ##控制time_wait的數量,太多不好

net.ipv4.route.gc_timeout = 100 

net.ipv4.tcp_syn_retries = 1

net.ipv4.tcp_synack_retries = 1

net.core.somaxconn = 16384           ##系統同時發起的TCP連接數最大值

net.core.netdev_max_backlog = 16384

net.ipv4.tcp_max_orphans = 16384

##一下參數是iptables防火牆優化,在防火牆沒有開啓時,使用sysctl-p生效時會報錯####

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_timeoutfin_wait = 120

最後 sysctl  -p 命令使文件生效

wKioL1e1XAmjN79rAADLBqpEN9E373.png

wKiom1e1XSOy07OpAAKbqKye9Ek473.png

有關linux netstat輸出的網絡連接狀態信息的詳細知識可以參考oldboy的博文http://oldboy.blog.51cto.com/2561410/1184139  此博文轉載於老男孩培訓


11定時清理clientqueue目錄的垃圾文件防止佔滿磁盤空間

 /var/spool/clientmqueue/   sendmail郵件服務郵件臨時存放地點,爲了防止inode被佔滿,需要定時清理。注意:C5.8默認就有sendmail服務,C6.4默認沒有,沒有就不用管這個,一旦有這個服務,必須做這樣的優化。

手動清理:

wKiom1e1aYvDcxvRAACQbPxAYkw045.png

定時清理:

[root@mode ~]# find /var/spool/clientmqueue/ -type f |xargs rm -f

[root@mode ~]# mkdir /server/scripts -p

[root@mode ~]# vi /server/scripts/del.sh

[root@mode ~]# crontab -e

添加任務:00 00 * * 6 /bin/sh/server/scripts/del.sh >/dev/null 2>&1  週六零點清理

wKioL1e1a5uRVJrnAAI8hjyznBo901.png


12.系統關鍵文件上鎖

wKioL1e1b6fTl-HOAADEg3bQ2kE096.png

處理完後,可以chattr名字改掉,這樣就沒有其它人可以搞定了

mv  /usr/bin/chattr /usr/bin/oldboy

chattr +i是上鎖,chattr -i是解鎖


13 清空/etc/issue,去除系統及內核版本登錄前的屏幕顯示

cat /etc/issue

> /etc/issue 


更深入的優化技巧可以參考老男孩培訓的博客

轉載於老男孩培訓 http://oldboy.blog.51cto.com/2561410/988726


***************************************完************************************************


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