首页 | 新闻 | 新品 | 文库 | 方案 | 视频 | 下载 | 商城 | 开发板 | 数据中心 | 座谈新版 | 培训 | 工具 | 博客 | 论坛 | 百科 | GEC | 活动 | 主题月 | 电子展
返回列表 回复 发帖

关于FreeD升级和优化详解

关于FreeD升级和优化详解

本文的目的是使新手可以根据此文章的步骤和方法,架设一台专业,高效,安全的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。
    安装数据库MYSQL
    安装mysql40-server和mysql40-client
    进入/usr/ports/databases/mysql40-server
    执行:
    make clean
    make deinstall
    make WITH_OPENSSL=yes WITH_LinuxTHREADS=yes BUILD_OPTIMIZED=yes install
    或者使用下面可参考的编译参数:BUILD_STATIC=yes
    编译成静态执行版本
    make clean
    更改mysql的root密码:
    mysqladmin –uroot –p password 123456
    生成/etc/my.cnf,使用如下命令:
    vi /etc/my.cnf
    [client]
    #password = your_password
    port = 3306
    socket = /tmp/mysql.sock
    [mysqld]
    skip-innodb
    skip-locking
    skip-networking
    set-variable = port=3306
    set-variable = socket=/tmp/mysql.sock
    set-variable = back_log=50
    set-variable = connect_timeout=3
    set-variable = key_buffer=128M
    set-variable = max_connections=1000
    set-variable = max_allowed_packet=1M
    set-variable = net_buffer_length=8K
    set-variable = wait_timeout=3
    set-variable = read_buffer_size=1M
    set-variable = sort_buffer_size=1M
    set-variable = table_cache=256
    set-variable = myisam_sort_buffer_size=32M
    set-variable = log_slow_queries=/var/log/log_slow_queries.log
    #log-bin
    server-id = 1
    [mysqldump]
    quick
    set-variable = max_allowed_packet=16M
    [mysql]
    no-auto-rehash
    # Remove the next comment character if you are not familiar with SQL
    #safe-updates
    [isamchk]
    set-variable = key_buffer=20M
    set-variable = sort_buffer=20M
    set-variable = read_buffer=2M
    set-variable = write_buffer=2M
    [myisamchk]
    set-variable = key_buffer=20M
    set-variable = sort_buffer=20M
    set-variable = read_buffer=2M
    set-variable = write_buffer=2M
    [mysqlhotcopy]
    interactive-timeout
    安装phpmyadmin
    注意,此步骤需要在apache和php之后再执行
    进入/usr/ports/databases/phpmyadmin
    执行:
    make clean
    make deinstall
    make install
    make clean
    新建立一个system的数据库备用。
    安装FTP服务器
    安装ftp软件(使用pure-ftpd/)
    进入/usr/ports/ftp/pufe-ftpd
    执行:
    make clean
    make deinstall
    make WITH_MYSQL=1 install
    或者使用下面可参考的编译参数:WITH_LANG=simplified-chinese
    使用简体中文语言包
    make clean
    配置pure-ftpd,主要需要做以下的工作:
    cp /usr/local/etc/pure-ftpd.conf.sample /usr/local/etc/pure-ftpd.conf
    cp /usr/local/etc/pureftpd-mysql.conf.sample /usr/local/etc/pureftpd-mysql.conf
    再修改/usr/local/etc/pure-ftpd.conf的如下部份为:
    NoAnonymous yes
    MySQLConfigFile /usr/local/etc/pureftpd-mysql.conf
    再修改/usr/local/etc/pureftpd-mysql.conf的如下部份为您的设定值:
    # Mandatory : user to bind the server as.
    MYSQLUser demo
    # Mandatory : user pass
返回列表