FREEBSD升级及优化全攻略(上)

来源:岁月联盟 编辑:zhu 时间:2008-01-19
FREEBSD升级及优化全攻略(上)内容简介:【FreeBSD教程】目录 前言 升级源码树 安装cvsup 升级系统源码树及ports 重新编译内核 优化编译环境 升级操作系统 升级配置文件 重新编译内核 重新启动服务器 优化FREEBSD 检查升级情况 打开防火墙 优化内核参

  【FreeBSD教程】目录
  前言
  升级源码树
  安装cvsup
  升级系统源码树及ports
  重新编译内核
  优化编译环境
  升级操作系统
  升级配置文件
  重新编译内核
  重新启动服务器
  优化FREEBSD
  检查升级情况
  打开防火墙
  优化内核参数
  安装防火墙
  安装数据库MYSQL
  安装mysql40-server和mysql40-client
  安装phpmyadmin
  安装FTP服务器
  安装ftp软件(使用pure-ftpd/)
  安装pureftpd_php_manager
  安装APACHE服务器
  安装apache13-modssl
  安装PHP语言
  安装php
  安装ZendOptimizer
  安装APACHE其它整合软件
  安装mod_bandwidth
  安装mod_fastcgi
  安装mod_gzip
  安装mod_limitipconn
  安装mod_perl
  安装mod_throttle
  安装mod_watch
  安装APACHE第三方软件
  安装限制每个虚拟主机的并发数软件
  安装防止ddos攻击的软件
  其它需要安装的软件﹔
  安装MRTG
  安装net-snmp
  安装mrtg
  设置虚空间的mrtg和流量分析
  安装BIND 9
  安装bind9
  安装邮件服务器
  安装qmail邮件系统
  安装WEBMIN和USERMIN
  安装webmin
  安装usermin
  结束语

  
  前言

  FREEBSD系统是一种非常 UNIX、非常 Free、非常 BSD -- UNIX 的操作系统,因为它过UNIX化,太过专业化了,教很多新手无从下手学习。我也是从几年前开始学习FREEBSD,并且在王波写的<FREEBSD使用大全>指导下,正式使用FREEBSD的。在这段使用和治理过程中,自己也积累了不少文章和实战经验。为了让更多的朋友喜欢上FREEBSD,喜欢上UNIX,我特地做了几次升级和优化实例,结合自己治理服务器空间的经验写出此文,希望在此抛砖引玉。
  本文的目的是使新手可以根据此文章的步骤和方法,架设一台专业,高效,安全的FREEBSD出来,并且可以立即投入实际运用,故文章中对运用及命令的使用多于理论化的知识点的描述,假如您不明白命令有何作用,建议您查查相关资料。
  本文假设已经架设好或者新安装了一台FREEBSD系统主机。
  本文中引用了很多FREEBSD官方站数据及网上数据,还有更多的是自己在实际工作中的经验,当然,里面的参数并不一定完全适合您,所以请您在使用时,尽可能根据您的实际需要调整一些参数,使您的SERVER的性能完全的发挥出来。本文只是一个总的线索,假如我要拆开来一个一个具体解释,我想会花更多的篇幅来写的,因为我忙着04年1月的自考,只写了实际中的运作情况,请各位朋友见谅。

  升级源码树

  安装cvsup
  进入:/usr/ports/net/cvsup
  make clean
  make deinstall
  make install
  make clean
  即可

  升级系统源码树及ports

  更新/usr/share/examples/cvsup目录下stand-cvsup和ports-cvsup文件,并执行cvsup –g –L2 standard-supfile和cvsup –g –L2 ports-cvsup两个文件,升级ports树﹔

  重新编译内核

  优化编译环境
  更新/etc/make.conf文件,做适当的编译优化,我的CPU是Intel的:
  CPUTYPE=i686
  CFLAGS= -O3 -pipe
  COPTFLAGS= -O3 -pipe
  升级操作系统

  进入/usr/src
  执行make world
  整个过程很久,需要2小时左右。

  升级配置文件

  执行mergemaster升级配置文件,在此过程中,需要按i以便系统执行升级﹔

  重新编译内核

  到/sys/i386/conf里面,cp GENERIC onlinecq,再vi onlinecq优化内核,注重加入下面的内容
  #disable ctrl alt delete
  options SC_DISABLE_REBOOT

  #quota limit
  options QUOTA

  #ipfw support
  options IPFIREWALL
  options DUMMYNET
  options HZ=3000
  options IPDIVERT
  options IPFIREWALL_VERBOSE
  options IPFIREWALL_VERBOSE_LIMIT=100
  options IPSTEALTH
  options TCP_DROP_SYNFIN
  options IPFIREWALL_DEFAULT_TO_ACCEPT
  options ICMP_BANDLIM

  options ACCEPT_FILTER_DATA
  options ACCEPT_FILTER_HTTP

  #ipfilter support
  #options IPFILTER
  #options IPFILTER_LOG
  #options IPFILTER_DEFAULT_BLOCK

  再执行:

  /usr/sbin/config onlinecq
  cd ../../compile/onlinecq
  make depend
  make
  make install
  重新启动服务器

  到此为止,服务器操作系统及内核升级成功
  reboot

  优化FREEBSD

  检查升级情况
  使用ssh进入系统,使用uname –a 可以查到是否升级成功﹔

  打开防火墙

  更新rc.conf里面的设置,加上:
  #enable_quotas="YES"
  #check_quotas="YES"
  firewall_enable="YES"
  firewall_script="/etc/rc.firewall"
  firewall_type="/etc/ipfw.rules" #create it!
  firewall_quiet="NO"
  firewall_logging_enable="YES"
  log_in_vain="NO"
  tcp_drop_synfin="NO"
  tcp_restrict_rst="YES"
  icmp_drop_redirect="YES"
  优化内核参数

  修改系统内核参数,实现微调:vi /etc/sysctl.conf
  kern.ipc.somaxconn=8192
  kern.ipc.maxsockbuf=2097152
  kern.maxfilesperproc=32768
  kern.maxfiles=65536
  kern.securelevel=-1
  net.inet.tcp.sendspace=65536
  net.inet.tcp.recvspace=32768
  net.inet.udp.maxdgram=57344
  net.inet.icmp.drop_redirect=1
  net.inet.icmp.log_redirect=0
  net.inet.ip.redirect=0
  net.inet6.ip6.redirect=0
  net.inet.icmp.icmplim=100
  net.inet.tcp.always_keepalive=0
  net.inet.tcp.delayed_ack=0
  net.inet.tcp.log_in_vain=0
  net.inet.udp.log_in_vain=0
  net.inet.tcp.blackhole=2
  net.inet.udp.blackhole=1
  net.local.stream.sendspace=65535
  net.local.stream.recvspace=32768
  net.inet.ip.fastforwarding=1
  vfs.vmiodirenable=1

  安装防火墙

  防火墙在上面已经编译入了内核,并且在上面的rc.conf里面已经打开了,所以在此只要设置一下即可!
  答应所有IP通过,免得把自己给挡在外面了。
  ipfw add all from any to any

  其它规则根据实际情况来做,假如您想系统每次启动都使用上一次的规则,可以把这些内容加到:
  vi /etc/ipfw.rules
  里面,语法规则同ipfw。

图片内容