纯记录。前两天把服务器的系统做成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
2
3
4
5
6
bash minstall.sh install-extra-repositories
bash minstall.sh clean-packages
bash minstall.sh install-ssh
bash minstall.sh install-extra-packages
bash minstall.sh configure-upgrade
bash minstall.sh configure-general

可以看到都是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
2
3
4
5
6
net.ipv4.tcp_syncookies = 1 #可防范少量SYN攻击
net.ipv4.tcp_tw_reuse = 1 #允许将TIME-WAIT套接字重新用于新的TCP连接
net.ipv4.tcp_tw_recycle = 1 #开启TIME-WAIT套接字的快速回收
net.ipv4.tcp_fin_timeout = 30 #本端要求关闭的套接字保持在TIME-WAIT-2的时间
net.ipv4.tcp_keepalive_time = 1200 #keepalive消息的发送间隔,20分钟
net.ipv4.ip_local_port_range = 1024 65000 #向外连接的端口范围

然后执行sysctl -p以使设置生效。


到此为止,一个相对干净的Debian 6环境就配置完成了。接下来将进行Nginx、MySQL和PHP-FPM的编译安装。