BT(寶塔面板)簡單優化加快網站訪問速度以及一些簡單的CC防護
我們安裝完成BT(寶塔面板)建好網站之後,需要給面板和服務器做一些簡單的設置,比如說php優化、myql優化、開啟php緩存、網站流量限制等等來提高服務器的性能,當然對於你用了BT(寶塔面板)來說,這些步驟都很簡單,我們直接都是在面板裡面來操作。
大鳥把如何設置寶塔面板提高服務器性能的過程寫下來,希望能幫到初次使用寶塔面板的朋友們。大鳥貌似寫過很多關於BT(寶塔面板)的教程了,大鳥應該把這些教程羅列都到一起,應該對於使用BT(寶塔面板)初學者朋友幫助很大。
在6.X版本中寶塔面板閹割了nginx中的waf安全管理模塊,不過呢還是可以開啟隱藏的,只是沒有了界面管理,具體的看下面的【cc防護】,需要說明的是,如果是軟件防cc,那麼對服務器的硬件要求很高,不然是沒有什麼意義的。但是防止一般的惡意攻擊還是很有幫助的。
一、定期釋放內存
添加計劃任務,可以設置每天或一周釋放一次,間隔時間根據自己網站情況定,大鳥一般是每天執行一次釋放內存,執行時機一般選在夜深人靜的時候,當然這個釋放內存大鳥前面也詳細講過了,這裡就不贅述了。(Bt(寶塔面板)的計劃任務功能定期自動釋放內存)
我們要登陸Bt(寶塔面板) →計劃任務→任務類型→釋放內存。
二、添加Swap
開啟swap還是有必要的,當然對於土豪來說內存一上都是什麼64G啊這種,那真的沒什麼必要搞swap了,但是大鳥這種屌絲,內存也就是2G,這尼瑪各路蜘蛛每天一頓猛擼,大鳥這服務器肯定是吃不消的。因此從經濟適用角度來說,一般的vps內存還是添加Swap比較好。在寶塔面板的軟件管理>>系統工具中找到Linux工具箱1.4,點擊最右側的“設置”打開Swap虛擬內存,按照下面的推薦值進行設置。
Swap 推薦值:2G 和2G 以下內存的服務器,設置成和物理內存相同容量SWAP;2G 以上的,設置為2G。如果跑的程序特別耗費內存,2G 內存以上的Swap 也可以設置與內存相同。面板也自帶瞭如何添加swap的詳細說明。官方貌似也給了swap的設置值,大鳥這裡引用一下。
Swap 推薦值:
物理內存Swap
512M 1024M
1GB 1500M
2GB 2048M
4GB 4096M
6GB+ 4096M
三、安裝PHP 緩存擴展
php版本強烈建議選擇php7.0以上版本的, php緩存擴展推薦使用Opcache腳本緩存和Memcached或者redis內容緩存。在軟件管理>>你使用的php版本最右側點擊“設置”,進入安裝擴展,右側點擊這兩個擴展後面的“安裝”,再確認一次,Opcache很快搞定,但是memcached這玩意安裝起來還是有點緩慢的。
內容緩存和腳本緩存都只安裝一個,不要同時安裝多個。但是呢Memcached或者redis這兩個內容緩存我們可以同時安裝,沒有什麼衝突。當然了,我們還可以安裝imagemagick來提高Imagick高性能圖形庫,如果你需要的話。
四、php 配置調整
因為wordpress要跑的流暢的話還是很好內存的,wordpress本身就是個吃內存的大戶,所以我們需要在php 管理的配置修改中,把memory_limit 腳本內存限制修改成256M,這樣wordpress 跑起來更順暢了。我們可以在php管理的配置修改裡面來搞定。修改memory_limit,把默認值修改成256M,保存。
五、PHP 並發調整
寶塔面板在php的性能調整裡面自帶了幾個優化過的php 並發方案,一般1 核1G 內存的雲服務器,設置30 並發或50 並發都可以,當然如果我們的小博客有30或者50並發絕對夠用了,其他配置請自己測試一下合適並發方案。不建議並發超過 300 ,當然如果你的網站流量很大,上10萬了ip了,你設置成300也就可以了。但是一個小博客何時才有10萬ip呢,所以好是老老實實設置成30 並發或50 並發吧。如果如果實在是並發不夠用還是優化數據庫緩存可能更有效。這個大鳥在下面會提到。
六、php 版本和MySQL 數據庫版本
php7 的性能比低版本有很大提升,大鳥強烈建議使用php7 以上版本;1 核1G 配置的數據庫推薦MySQL5.5,而5.6 要求最低內存1G 以上,所以大家應該知道如何選擇了。因為大鳥的vps是國外的所以配置略高點,3h2g的配置,這配置完個小博客足夠餓了。大鳥安裝的是php7.2、MySQL5.5。
七、卸載多餘擴展組件
如果程序不需要,就卸載ZendGuardLoader、ioncube、PATH_INFO,安裝後不用也一直佔用一部分內存。而且寶塔面板自帶了很多亂起八糟的什麼寶塔運維、寶塔安全登錄,這些用不到的全部刪掉。
八、CC防護
使用寶塔linux面板很多用戶受到CC攻擊不知如何防範,這時候我們還需要來進行一些簡單的設置。在寶塔面板6.X之後自帶的waf模塊被閹割,不過我們還可以開啟隱藏的waf模塊,但是沒有界面設置了,如何開啟看這篇文章:寶塔面板6.X開啟隱藏的waf 防火牆的方法
1、開啟waf安全模塊
額,就是這麼簡單粗暴,就是在Nginx管理裡面,不過版本最好要是Nginx1.12的,低版本不支持這功能,這是免費版支持,如果我們用專業版可以直接用寶塔網站防火牆。
2、網站流量限制
上面設置好還不夠,我們需要對網站進行加固,到網站管理裡面找到流量限制,開啟啟用流量控制的功能,如圖!
寶塔面板自帶了幾個方案,我們一般選擇論壇/博客這種就可以了,這樣對網站有個最起碼的保護作用,或者說如果被cc了,這樣設置還是有點作用的。
具體參數解釋
並發限制:一般一個日IP數万甚至十萬的站,並發設置為一百多都可以。注意!這是並發,相當於你網站一秒鐘有多少人同時進行請求。這個量很高了。
單IP限制:根據自己網站需求來設置。一般設置為5到10即可
流量限制:這個是限制單IP每個請求的流量大小。根據訪客訪問自己網站內容需要的流量大小來設置即可。
九、MySQL性能簡單調優
MySQL配置參數調優(需要根據網站運行情況調整),不過寶塔面板集成了幾個優化方案,我們選擇一下就可以了。
寶塔面板還是很貼心的,給出了5個不同的優化方案,我們只要對應自己的配置來選擇即可。不過有一些地方需要簡單說明一下。
1、查詢緩存命中率
MySQL查詢緩存是個比較受爭議的功能,個人建議當你有在使用redis、memcached等緩存軟件時,將query_cache_size設為0可以將其關閉,當你沒有使用緩存軟件,有多餘的內存使用,且數據庫瓶頸明顯存在時,可以嘗試開啟查詢緩存,這是個非常依賴數據表結構及SQL語句優化的功能,若數據表結構和SQL語句都針對查詢緩存進行過優化,它的效果還是很不錯的。所以我們還是要配和memcached等緩存來使用,這樣效果就會更好,大鳥這裡就是把query_cache_size設為0。你們也不妨試試看,如果有更好的方案歡迎交流。
設置好之後別忘了重啟重啟MySQL服務,如果重啟出現問題,我們可以看這篇文章(BT(寶塔面板)mysql啟動錯誤-server PID file could not be found)
十、總結
我們一般用BT(寶塔面板)的免費版,也是足夠用了,如果說網站流量很大,也不懂運維,那不妨用他們家的專業版,裡面有很多還不錯的插件,大鳥這裡提供的教程也只是一些最簡單最基本的設置,對一些小白可以能會有很大幫助,如果你們有更好的優化方案,不妨和大鳥分享。