我們的服務器並不是安裝完成後就可直接托管到機房了,而是需要進行一系列的優化配置和安全配置等
1、關閉不需要的服務
這個應該很容易理解的,凡是我們的系統不需要的服務,一概關閉,這樣一個好處是減少內存和CPU時間的占用,另一個好處相對可以提高安全性
那麼哪些服務是肯定要保留的呢?
在linux機器上通常有四項服務是必須保留的
iptables
linux下強大的防火牆,只要機器需要連到網上,哪裡離得開它
network
linux機器的網絡,如果不上網可以關閉,只要上網當然要打開它
sshd
這是openssh server,如果你的機器不是本地操作,而是托管到IDC機房,
那麼訪問機器時需要通過這個sshd服務進行
syslog
這是linux系統的日志系統,必須要有,
否則機器出現問題時會找不到原因
除了這四項必需的服務之外,其他的服務需要保留哪些呢?
這時就可以根據系統的用途而定,比如:數據庫服務器,就需要啟用mysqld(或oracle)
web服務器,就需要啟用apache
2、關閉不需要的tty
請編輯你的/etc/inittab
找到如下一段:
1:2345:respawn:/sbin/mingetty tty1
2:2345:respawn:/sbin/mingetty tty2
3:2345:respawn:/sbin/mingetty tty3
4:2345:respawn:/sbin/mingetty tty4
5:2345:respawn:/sbin/mingetty tty5
6:2345:respawn:/sbin/mingetty tty6
這段命令使init為你打開了6個控制台,分別可以用alt+f1到alt+f6進行訪問
此6個控制台默認都駐留在內存中,事實上沒有必要使用這麼多的
你用ps auxf這個命令可以看到,是六個進程
root 3004 0.0 0.0 1892 412 tty1 Ss+ Jun29 0:00 /sbin/mingetty tty1
root 3037 0.0 0.0 2492 412 tty2 Ss+ Jun29 0:00 /sbin/mingetty tty2
root 3038 0.0 0.0 2308 412 tty3 Ss+ Jun29 0:00 /sbin/mingetty tty3
root 3051 0.0 0.0 1812 412 tty4 Ss+ Jun29 0:00 /sbin/mingetty tty4
root 3056 0.0 0.0 2116 412 tty5 Ss+ Jun29 0:00 /sbin/mingetty tty5
root 3117 0.0 0.0 2396 412 tty6 Ss+ Jun29 0:00 /sbin/mingetty tty6
如何關閉這些進程?
通常我們保留前2個控制台就可以了,
把後面4個用#注釋掉就可以了
然後無需重啟機器,只需要執行 init q 這個命令即可
init q
q作為參數的含義:重新執行/etc/inittab中的命令
修改完成後需重啟機器使之生效
4、如何關閉atime?
一個linux文件默認有3個時間:
atime:對此文件的訪問時間
ctime:此文件inode發生變化的時間
mtime:此文件的修改時間
如果有多個小文件時通常沒有必要記錄文件的訪問時間,
這樣可以減少磁盤的io,比如web服務器的頁面上有多個小圖片
如何進行設置呢?
修改文件系統的配置文件:vi /etc/fstab
在包含大量小文件的分區中使用noatime,nodiratime兩項
例如:
/dev/md5 /data/pics1 ext3 noatime,nodiratime 0 0
這樣文件被訪問時就不會再產生寫磁盤的io
5、一定要讓你的服務器運行在level 3上
做法:
vi /etc/inittab
id:3:initdefault:
讓服務器運行X是沒有必要的
6,優化sshd
X11Forwarding no //不進行x圖形的轉發
UseDNS no //不對IP地址做反向的解析
7、優化shell
修改命令history記錄
# vi /etc/profile
找到 HISTSIZE=1000 改為 HISTSIZE=100
然後 source /etc/profile