我们的服务器并不是安装完成后就可直接托管到机房了,
而是需要进行一系列的优化配置和安全配置等
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中的命令3,如何关闭ipv6? ipv6目前我们还不需要,但系统安装完成后它会作为模块常驻核心,没有必要,
可以用这个步骤来关闭它:
首先编辑网络配置文件:
vi /etc/sysconfig/network
修改
NETWORKING_IPV6=yes为
NETWORKING_IPV6=no 然后关闭其模块:vi /etc/modprobe.conf
在文件中添加以下两行
alias net-pf-10 off
alias ipv6 off修改完成后需重启机器使之生效
4,如何关闭atime?
一个linux文件默认有3个时间:
atime:对此文件的访问时间
ctime:此文件inode发生变化的时间
mtime:此文件的修改时间 如果有多个小文件时通常没有必要记录文件的访问时间,这样可以减少磁盘的io,比如web服务器的页面上有多个小图片如何进行设置呢?
修改文件系统的配置文件:vi /etc/fstab
在包含大量小文件的分区中使用noatime,nodiratime两项
例如:
/dev/md5 /data/pics1 ext3 noatime,nodiratime 0 0这样文件被访问时就不会再产生写磁盘的io5,一定要让你的服务器运行在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