服务器手记:Debian6基础配置
纯记录。前两天把服务器的系统做成CentOS,用了两天觉得很不满于是又换回Debian6了。这次稍微记录一下配置过程。
基础配置的内容主要包括清理刚安装完成的系统,调节一些配置优化项目。
安装使用的镜像是Debian 6.0.4(Squeeze) Stable。安装过程不再赘述,选择的软件包仅包括基本系统工具和SSH服务器两项。
安装完成后首先使用Minstall这个脚本来对系统进行基本的清理和配置。
Minstall这个脚本由来自LET论坛的牛人制作。主要目的是辅助对低配置服务器或VPS的安装和管理。基本功能包括清理软件包、安装附加软件源、安装和配置LNMP、添加和管理虚拟主机等。
我只使用它提供的一些基本配置功能。
安装:
1 | cd ~; rm -rf minstall; mkdir minstall; cd minstall; wget --no-check-certificate -O minstall.tar.gz http://www.github.com/downloads/KnightSwarm/Minstall/Latest.tar.gz; tar zxvf minstall.tar.gz; rm minstall.tar.gz |
完成后可以执行下列命令进行配置:
1 | bash minstall.sh install-extra-repositories |
可以看到都是bash minstall.sh后接一个动作名的形式。具体说明如下:
install-extra-repositories:添加附加的软件源。包括DotDeb源等。可以方便的使用apt-get安装nginx和php-fpm等。
clean-packages:清理不必要的软件包。这个操作相当危险,建议只在新安装完成后的全新系统上执行一次。它会删除包括bind9、exim4、iptables等软件包,供用户以后根据需求定制安装。但是同时它也会卸载掉OpenSSH!也就是说执行完这个命令后一旦SSH断开就没法连回来了。只能通过VNC方式进入。所以需要立刻执行下面的指令安装SSH服务。
install-ssh:顾名思义,安装OpenSSH。如果想使用Dropbear作为SSH服务器(占用非常低,尤其在多开SSH的情况下),可以使用install-dropbear。但是需要注意:Debian6目前官方源中的Dropbear为0.52版,存在安全隐患。请参照这个帖子中的方式添加testing源并将Dropbear更新到最新版本。(因为使用了apt-get的preference设定,所以不用担心testing源覆盖掉stable的软件包。)
install-extra-packages:安装附加软件包。包括axel、screen、wget等常用工具。还是能省不少事的。不过这次我没装,自己动手装的screen。
configure-upgrade:升级。包括升级软件包、升级Minstall本身。
configure-general:包括一些基本的配置项,比如关闭多余的getty进程,关闭bash的历史记录等。用过这个之后貌似shell的提示符会自动给你上色(也可能是configure-user,记不清了),真是颇为不错。
Minstall的功能还有很多,包括安装nginx、php、mysql以及添加管理虚拟主机、用户等。但是都是属于使用apt管理安装,比起编译安装来还是有些不足。目前我只使用Minstall的以上这些功能。其中clean-packages一项非常有用,刚安装完的Debian6磁盘占用大概在1G多,运行这个脚本之后会降到不足600M。对于硬盘吃紧的低配VPS来说还是非常有用的。而且clean之后的系统非常之干净……处在一个你装什么它才有什么的状态下,对于有洁癖的童鞋来说是非常有用的。
PS:这次运行clean-packages一直卡住,不知道为什么。后来先运行了install-extra-repositories之后就没问题了,也许有一定的相关性,仅供参考。
另外Minstall的install-extra-repositories所添加的DotDeb源中的php版本是5.3系列的。如果想使用较新的5.4系列的话,在**/etc/apt/sources.list.d/dotdeb.list**中添加(注意是添加)下面这行:deb http://packages.dotdeb.org squeeze-php54 all
接下来对系统的一些基本参数进行调整。这些设置主要参考“抚琴煮酒”关于CentOS5.5最小化安装后的性能调优而来。也有部分来自于多种lnmp自动安装脚本。
1.安装rcconf。rcconf是Debian系中类似于CentOS下ntsysv的一款工具,可以对系统中开启和关闭的服务进行管理。
1 | apt-get install rcconf |
运行rcconf,取消不需要的服务。其实基本上用Minstall清理过之后就没什么东西了……我找了半天没有找到Debian下各服务的具体说明,有些module-init-tools之类启动项最终我还是没敢关闭……
2.调整最大文件打开数。
向/etc/security/limit.conf添加参数:
`* soft nproc 65535
- hard nproc 65535
- soft nofile 65535
- hard nofile 65535`
向/etc/sysctl.conf添加参数:
fs.file-max=65535
执行sysctl -p以使设置生效。
这些数值似乎有一些关联的问题……留待以后详查。
3.调整TCP参数
向/etc/sysctl.conf添加参数:
1 | net.ipv4.tcp_syncookies = 1 #可防范少量SYN攻击 |
然后执行sysctl -p以使设置生效。
到此为止,一个相对干净的Debian 6环境就配置完成了。接下来将进行Nginx、MySQL和PHP-FPM的编译安装。