歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
您现在的位置: Linux教程網 >> UnixLinux >  >> Linux綜合 >> Linux資訊 >> 更多Linux

FREEBSD升級和優化全攻略

  前言  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。     安裝數據庫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




Copyright © Linux教程網 All Rights Reserved