自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

分享FreeBSD 8.0的十四條優(yōu)化策略

原創(chuàng)
系統(tǒng) Linux
FreeBSD有穩(wěn)定和高效的特點,是目前國內(nèi)常用的服務(wù)器操作系統(tǒng)之一。本文總結(jié)了十四條FreeBSD優(yōu)化的經(jīng)驗,基于FreeBSD 8.0,其中包括ports的安裝、vim編輯器的安裝配置、內(nèi)核優(yōu)化、防火墻、系統(tǒng)監(jiān)控等內(nèi)容。

【51CTO獨家特稿】筆者目前是一位外企linux/unix系統(tǒng)工程師與項目實施工程師,而FreeBSD一直作為我們企業(yè)內(nèi)部的開發(fā)服務(wù)器,具有穩(wěn)定和高效的特點。本文根據(jù)筆者經(jīng)驗總結(jié)了十四條FreeBSD的優(yōu)化策略。如無其它,以下所指FreeBSD均指FreeBSD 8.0_release。

推薦專題:企業(yè)內(nèi)網(wǎng)開發(fā)環(huán)境部署與管理全攻略(FreeBSD+PHP)

一、提高ports安裝速度

FreeBSD中的ports安裝工具默認(rèn)工具是用fetch,下載時經(jīng)常出現(xiàn)龜速現(xiàn)象。為了提高ports安裝速度,我推薦axel工具。相關(guān)make.conf文件配置步驟如下:

  1. cd /usr/ports/ftp/axel  
  2. make install  
  3. #修改/et/make.conf  
  4. vi /etc/make.conf  
  5. #加入以下內(nèi)容  
  6. FETCH_CMD=axel  
  7. FETCH_BEFORE_ARGS= -n 10 -a  
  8. FETCH_AFTER_ARGS=  
  9. DISABLE_SIZE=yes  
  10. MASTER_SITE_OVERRIDE?=\  
  11. http://ports.hshh.org/${DIST_SUBDIR}/\  
  12. http://ports.cn.freebsd.org/${DIST_SUBDIR}/\  
  13. ftp://ftp.freeBSDchina.org/pub/FreeBSD/ports/distfiles/${DIST_SUBDIR}/  
  14. MASTER_SITE_OVERRIDE?=${MASTER_SITE_BACKUP}   

以上路徑是為了用速度比較快的網(wǎng)站代替程序默認(rèn)的下載源,達(dá)到加速的目的。配置成功后,享受axel帶來的極速快感吧。

二、安裝vim編輯器

工欲善其事,必先利其器。用了段時間后的FreeBSD,居然發(fā)現(xiàn)沒有vim,我還是習(xí)慣使用Linux下的vim,先安裝vim后再工作吧。安裝方法如下:

①如果安裝了X Windows

  1. cd /usr/ports/editors/vim6 
  2. make install   

②如果沒安裝X Windows,則可安裝vim7.2+ruby,Ruby是一門面向?qū)ο蟮姆?wù)器腳步語言,相當(dāng)與Perl。

  1. cd /usr/ports/editors/vim6+ruby  
  2. make -DWITHOUT_X11 install clean   

③還可采用pkd_add的方式安裝

pkg_add -r -v vim-lite

成功安裝完vim后配置下vim,讓其有語法檢查及顏色顯示等功能。

  1. #echo "syntax on">>/root/.vimrc  
  2. #echo "alias vi vim" >>/root/.cshrc   

三、配置遠(yuǎn)程連接工具

我使用的遠(yuǎn)程連接工具是Xmanager3.0企業(yè)版,因為習(xí)慣了Linux的顏色顯示,這里將其改成與linux一致:

  1. #vim /etc/csh.cshrc   
  2. #加入如下  
  3. setenv LSCOLORS ExGxFxdxCxegedabagExEx  
  4. setenv CLICOLOR yes  
  5. source /etc/csh.cshrc   

#p#

四、列出無法補齊的候選文件

想要讓FreeBSD的csh像bash那樣按tab列出無法補齊的候選文件,標(biāo)準(zhǔn)的方法是按Ctrl+D。但如果一定要用tab的話,在/etc/csh.cshrc中加入:

set autolist

五、使用portsnap升級port的目錄樹

我們使用portsnap,首先要設(shè)置一下它的配置文件/etc/portsnap.conf:

  1. [root@bsd01 /usr/ports]# vi /etc/portsnap.conf   

把SERVERNAME=portsnap.freebsd.org

修改成:

SERVERNAME=portsnap.hshh.org

在你的freebsd首次使用portsnap必須執(zhí)行下面2步:

  1. [root@bsd01 ~]# portsnap fetch  
  2. [root@bsd01 ~]# portsnap extract   

這2步可以合成使用:

  1. [root@bsd01 ~]# portsnap fetch extract   

portsnap fecth是從網(wǎng)上獲取portsnap快照的最新壓縮包,聽聞這個壓縮包官方每小時更新一次。

portsnap extract 則是把這個壓縮包創(chuàng)立到/usr/ports。哪怕你以前已經(jīng)手工安裝了ports,他也會重新創(chuàng)立一次。

以后更新,只需要執(zhí)行下面2步:

  1. [root@bsd01 ~]# portsnap fetch  
  2. [root@bsd01 ~]# portsnap update   

這2步可以合成使用:

  1. [root@bsd01 ~]# portsnap fetch update   

portsnap第一次運行extract命令時,可能需要一段時間,以后更新使用update的時候,速度就塊很多了。

六、系統(tǒng)內(nèi)核級優(yōu)化+防止ddos

根據(jù)某位unix前輩的觀點:本來就很好,加加更健康。加載文件修改方法如下:

  1. # vim /boot/loader.conf加入如下文本  
  2. kern.dfldsiz="2147483648"              
  3. kern.maxdsiz="2147483648"               
  4. kern.ipc.nmbclusters="0"              
  5. kern.ipc.nsfbufs="66560"           

解釋:

a、第一、二行主要是為了突破1G內(nèi)存設(shè)置的。

b、第三行其實是bsd的一個bug,當(dāng)系統(tǒng)并發(fā)達(dá)到一個數(shù)量級的時候,系統(tǒng)會crash,這個是非常糟糕的事情。所幸更改了這個參數(shù)后,在高并發(fā)的時候,基本可以沒有類似情況,當(dāng)然非常bt的情況,還得進一步想辦法。

c、第四行是讀取的文件數(shù),如果你下載的文件比較大,且比較多,加大這個參數(shù),是非常爽的。

Sysctl修改方法如下:

  1. #vi /etc/rc.local  
  2. sysctl kern.ipc.maxsockets=100000    ##增加并發(fā)的socket,對于ddos很有用  
  3. sysctl kern.ipc.somaxconn=65535      ##打開文件數(shù)  
  4. sysctl net.inet.tcp.msl=2500         ##timeout時間   

#p#

七、FreeBSD的pf防火墻

眾所周知,F(xiàn)reeBSD的ipfw是移植自O(shè)PENBSD的防火墻,其強大我這里就不多說了。因為其用途主要用于內(nèi)部開發(fā),所以我這里就是關(guān)閉了防火墻,pfctl -d。在對外實施項目的過程中發(fā)現(xiàn),Linux下的iptables及FreeBSD的ipfw均不可能防DDOS攻擊,所以在安全方面我就轉(zhuǎn)向于硬件防火墻,而將iptables和ipfw主要用于內(nèi)網(wǎng)NAT路由器這塊。

這里簡單介紹下ipfw的語法吧:

pfctl -e                 #啟動ipfw防火墻 
pfctl -d                 #停止ipfw防火墻 
pfctl -sa | grep Status  #查看狀態(tài) 
pfctl -f /etc/pf.conf    #載入 pf.conf 文件  
pfctl -nf /etc/pf.conf   #檢查配置文件錯誤,但不載入  
pfctl -Nf /etc/pf.conf   #只載入文件中的NAT規(guī)則  
pfctl -Rf /etc/pf.conf   #只載入文件中的過濾規(guī)則  
pfctl -sn    #顯示當(dāng)前的NAT規(guī)則  
pfctl -sr    #顯示當(dāng)前的過濾規(guī)則  
pfctl -ss    #顯示當(dāng)前的狀態(tài)表  
pfctl -si    #顯示過濾狀態(tài)和計數(shù)  
pfctl -sa    #顯示任何可顯示的 
pfctl -t http_table -T show             #查看動態(tài)表 
pfctl -t http_table -T add 192.168.1.X    #添加一個IP到表 
pfctl -t http_table -T del 192.168.1.X    #從表中刪除IP   

八、運行新安裝的命令

FreeBSD 8.0的cshell會緩存環(huán)境變量PATH中指定的目錄里的可執(zhí)行文件,以加快查找速度,這會造成一些新安裝的命令無法運行,最典型的例子就是剛安裝的vim居然提示找不到命令。用如下命令解決問題:

rehash

感覺此習(xí)慣跟linux下用locate查找某文件比較類似。linux下一般也會在安裝前軟件后用updatedb來更新文件最新數(shù)據(jù)庫,然后用locate命令令其生效。

九、進行安全的遠(yuǎn)程登錄

很多人會修改/etc/ssh/sshd_config文件,以便讓root遠(yuǎn)程登陸FreeBSD服務(wù)器,但這樣做是極不安全的,建議還是添加一個wheel組的用戶,然后再su – root更為安全。

  1. PermitRootLogin yes        #允許root登錄  
  2. PermitEmptyPasswords no    #不允許空密碼登錄  
  3. PasswordAuthentication yes  #設(shè)置是否使用口令驗證   

#p#

十、檢查網(wǎng)絡(luò)流量是否異常

如果你感覺你的網(wǎng)絡(luò)流量異常,可采用如下方法來檢查排障:

systat -if 1

1表示1秒刷新屏幕一次,Traffic流量平均值,peak 峰值,total流量總值,很實用的命令;缺省情況下systat是報告處理器的使用率,包括總利用狀態(tài)、空閑使用率和各個進程的使用率。通過指定參數(shù),systat也能進行I/O的統(tǒng)計、虛存的統(tǒng)計、網(wǎng)絡(luò)的統(tǒng)計等。

十一、查看FreeBSD服務(wù)器的一些基礎(chǔ)情況和信息

①查看CPU:

  1. sysctl hw.model hw.ncpu  
  2. dmesg | grep "CPU:"   

②查看內(nèi)存:

  1. dmesg | grep "real memory" | awk -F '[( )]' '{print $2,$4,$7,$8}'   

查看swap:

  1. top | grep "Swap:" | awk '{print $1,$2}'   

③查看硬盤:

  1. diskinfo -vt /dev/ad0   

④看硬盤大小及硬件使用情況:

  1. dmesg | grep "sector" | awk '{print $1,$2}'  
  2. df -h   

⑤查看服務(wù)器品牌:

  1. dmesg | grep "ACPI APIC"   

⑥查看系統(tǒng)內(nèi)核,命令跟Linux下一樣:

  1. uname -a  
  2. mail# uname -a  
  3. FreeBSD mail.cn7788.com 8.0-RELEASE FreeBSD 8.0-RELEASE #0: Sat Nov 21 15:48:17 UT  

十二、關(guān)于Linux二進制兼容模式

許多公司和開發(fā)人員只為Linux開發(fā)程序,因為這是目前計算機世界最熱門的技術(shù);這時FreeBSD能夠做什么呢,答案就是使用FreeBSD所提供的Linux二進制兼容性,方法是:

  1. kldstat linux   

讓Linux兼容在系統(tǒng)初始化自動啟動,在/etc/rc.conf中加入

  1. linux_enable="YES"  

檢查KLD模塊是否加載:

  1. mail# kldstat   
  2. Id Refs Address    Size     Name  
  3.  1    1 0xc0400000 b6dfe0   kernel   

如果您不想或者無法將Linux KLD加載,您就需要在內(nèi)核中靜態(tài)鏈接進Linux二進制兼容性模式。您必須在您的內(nèi)核配置文件里面加入options COMPAT_LINUX,然后重新編譯內(nèi)核。

十三、有關(guān)于FreeBSD的網(wǎng)絡(luò)配置

雖然sysinstall也能修改主機的網(wǎng)絡(luò)相關(guān),但修改完網(wǎng)卡的相關(guān)參數(shù)后sysinstall會提示W(wǎng)ould you liketo bring the le0 interface up right now?(你想讓le0生效嗎?)但我興沖沖的執(zhí)行此步后,發(fā)現(xiàn)新改的網(wǎng)卡參數(shù)并沒重新重獎;所以我建議修改/etc/rc.conf文件后用命令使其立即生效。

  1. vim /etc/rc.conf  
  2. hostname="mail.bolaninfo.com" 
  3. ifconfig_le0="inet 192.168.1.108 netmask 255.255.255.0" 
  4. defaultrouter="192.168.1.1" 
  5. #defaultrouter是網(wǎng)關(guān)地址   

修改后需要讓修改立即生效。這里不建議reboot服務(wù)器,有個小技巧與大家分享下,即

  1. sh /etc/rc   

測試修改defaultroute="192.168.1.103",然后sh /etc/rc,最后用命令測試了,大家注意下Gateway這行,即改動生效了。

FreeBSD網(wǎng)絡(luò)配置

域名解析DNS配置如下

  1. #vim /etc/resolv.conf  
  2. nameserver 210.5.4.116  
  3. nameserver 210.51.176.71   

另外這里稍為解釋下名字解析hosts,它的執(zhí)行順序是優(yōu)于DNS,現(xiàn)階段多用于集群環(huán)境,如DRDB+Heartbeat,配置過程如下

  1. #vim /etc/hosts  
  2. 192.168.1.100 HA1  
  3. 192.168.1.101 HA2   

十四、LVS腳本

在用Freebsd作LVS后端的web集群時,發(fā)現(xiàn)用其作的lvs腳本比linux簡單多了,尤其是arp抑制。腳本如下:

  1. mail# vim /usr/local/bin/lvs_real_bsd   
  2. #!/usr/local/bin/bash  
  3. #description : start realserver  
  4. VIP=192.168.1.188 
  5. case "$1" in 
  6. start)  
  7. echo " start LVS of REALServer" 
  8. /sbin/ifconfig lo0 $VIP netmask 255.255.255.255 alias -arp up  
  9. ;;  
  10. stop)  
  11. /sbin/ifconfig lo0 alias down  
  12. echo "close LVS Directorserver" 
  13. /sbin/ifconfig lo0 127.0.0.1 arp up  
  14. ;;  
  15. *)  
  16. echo "Usage: $0 {start|stop}" 
  17. exit 1 
  18. esac 

【編輯推薦】

  1. 小規(guī)模DDoS(拒絕服務(wù))用Freebsd+IPFW搞定
  2. FreeBSD系統(tǒng)安裝與配置之準(zhǔn)備篇
  3. FreeBSD 7.3發(fā)布 7系列最穩(wěn)定版本

 

責(zé)任編輯:yangsai 來源: 51CTO.com
相關(guān)推薦

2012-07-12 10:44:50

Yahoo前端

2009-03-18 12:15:07

職場跳槽求職

2010-06-23 10:03:01

2010-04-13 09:06:20

MVP

2009-12-01 09:40:32

FreeBSD測試

2013-04-25 14:40:08

編程

2011-05-17 17:51:43

SEO網(wǎng)站優(yōu)化

2013-04-19 09:50:51

編程編程語言編程經(jīng)驗

2009-09-30 10:30:19

FreeBSD 8.0Ubuntu 9.10性能測試

2009-12-04 19:28:25

FreeBSD 8.0Ubuntu 9.10性能比較

2009-12-01 10:12:39

FreeBSD 8.0操作系統(tǒng)

2010-09-06 14:42:43

2011-01-26 10:46:30

FreeBSD 8.0NginxPHP

2014-02-26 15:35:22

服務(wù)器運維

2021-07-26 12:10:37

FacebookMySQL 8.0數(shù)據(jù)庫

2010-06-01 15:41:09

創(chuàng)建SVN倉庫

2011-07-04 18:06:52

測試用例

2020-02-02 09:23:44

軟件安全滲透測試信息安全

2009-12-02 10:15:49

2020-11-24 11:16:06

JavaScript
點贊
收藏

51CTO技術(shù)棧公眾號