以前為了在MediaWiki網站上實現AMP版本和MIP版本可是費了不少力氣,更早是用Vector做電腦版、WPtouch做手機版,然後用一個簡單的Modern皮膚改為了AMP的皮膚,再後面又複制到MIP皮膚。
應該來說我們做AMP、MIP版本算是很快的,也找住了一波流量紅利,但百度在把重點轉向熊掌号後(再之後熊掌号也被放棄了,重點轉向智能小程序),MIP慢慢淡化了,後來又取消了MIP的CDN緩存,淪為可有可無的東西。再就是我們網站自己開始采用免費或付費的CDN後,AMP的搜索引擎緩存優勢也不明顯了,反而是限制了我們網站的一些功能、維持一個版本增多了開發工作量。
去年我們将EmojiAll網站接入了CloudFlare,這個網站是用Drupal來搭建的,也遇到一些清除緩存等小問題,都是同事們逐步發現、逐步解決。最近陸續接入了其它一些域名,我也多花了一些時間來了解,下面記錄一些要點。
先去網上搜了相關關鍵詞,發現Drupal有一個專門的CloudFlare模塊,其主要功能是:
- 顯示訪問者真實IP地址,而不是代理服務器的IP地址;
除了安裝這個模塊以外,Drupal 7還需要在settings.php中添加:
if (isset($_SERVER
去年10月我們在 www.emojiall.com 開啟了CloudFlare的緩存和防護功能,當時用的免費到,直到今年才改為了付費的專業版,中間也摸索了很多地方。對我們來說最大的問題是不支持中國節點,也就是說中國浏覽者還是需要訪問放在國外的服務器上緩存内容。
于是我們也在尋找合适的國内CDN服務商,以前曾經嘗試過阿裡雲的CDN、全站加速,這次從CloudFlare網站中的幫助文件看到百度雲加速是他們在中國的合作夥伴,也提供免費套餐,于是就去看了看,發現百度雲加速與CloudFlare有很多相似之處。
首先那我的個人博客作為接入百度雲加速的首個嘗試
我們使用的MediaWiki和Drupal都支持LAMP架構,安裝包中都帶有一個默認的.htaccess來支持Apache的設置,我們雖然以前也看過文章建議有服務器完整權限的用戶不要用.htaccess而是使用httpd.conf,但為了修改.htaccess随時生效就偷懶沒有把.htaccess中的設置遷移到httpd.conf中。
最近把幾台國外服務器從8核CPU、16G内存升級為12核高主頻CPU、48G内存,在花錢添置硬件性能的同時,也考慮到通過其它軟件的辦法來讓網站訪問更快,找了幾篇文章:
- Apache英文官方文檔:Whe
我們的Web服務器使用Apache有十年了,一直使用LAMP架構來做網站。很早也知道Nginx,據說性能上有明顯優勢,但怕麻煩就一直沒有嘗試。
最近有個網站在與某互聯網大廠做合作對接,對方要求我們的API接口速度上達到99分位在300ms以内、可靠性上達到99.9%以上,我們初期測試是很難達到的,後來商議了各種措施來優化和保障,其中就說到使用一個單獨的Nginx為對方提供API接口。
于是4月初就在服務器上安裝了一套Nginx,測試速度還是有明顯改善的,而且與其它網站使用的Apache獨立開來,在穩定性上也更有保證,下面來記錄一下安裝和使用的一些要
我們的EmojiAll.com網站有個配套的QQ群:774842773,建站、建群後也逐漸有對Emoji感興趣的朋友加入,現在有上百人,大家交流的也都是與Emoji有關的信息。
前些天有位朋友尋找我們網站上的表情都是不可以動的麼?這位朋友也許把Emoji誤認
上次MediaWiki從1.23.5和1.24.2升級到1.27.0還是在2016年,選擇1.27版本的原因是這是一個長支持周期的版本,可以在3年内不用大版本升級,但在2019年也到期了,本來應該升級到1.31這個長周期版本,不過也因為時間精力顧不過來而沒有進行,到2020年的1.35又是一個新的長周期版本,我們2020年10月就進行了測試,後來人手不足擱置了一段時間,現在2021年3月再次回頭來進行,終于是把剩下的小問題逐步解決,然後升級網站可以推出了,下面來記錄一下需要進行的工作。
首先到MediaWiki官方網站,下載最新穩定版本,閱讀1.35的發布說明,還需要
CDN是一個很老的概念了,印象中是很貴、隻有大型網站負擔得起,國内也有一些服務商提供免費的試用,很久前用過國内一個不知名的免費CDN(名字都忘記了),後來也用過阿裡雲的CDN免費試用,然後轉成收費的(隻用了一個很小的網站,流量很低,所以收費也很少)。
聽說國外的CF (Cloudflare)提供免費CDN有幾年了,不過一直都沒有試用,去年我們把EmojiAll這個站放到了CF上,大約可以緩存30%-40%的訪問,有一定的效果,嘗試付費卻沒有支付成功,就一直用的免費版本。
我們EmojiAll.com這個網站算是做得很精細、邏輯有些複雜,各種數據庫調用很多,不過因為數據庫服務器采用阿裡雲RDS、負載不算很高,所以速度上還是可以的,前期主要注重功能,沒有太注意性能優化。
最近因為ECS服務器搬家,發現新服務器的内網帶寬比以前增加很多倍,然後打開Drupal的Devel模塊查看數據庫調用情況,發現sql語句非常多,一個典型頁面調用sql語句達到800條之多,内容很多的頁面sql語句超過4000條,雖說都還是可以在幾秒内打開,但對于有優化強迫症的人來說,顯然是無法忍受的。😖
以前其實想過要通過Memcache這種鍵值對緩存
維基百科應該說是人類知識的寶庫,各種語言的詞條都是成千上萬人參與編輯的結果,而且也都是免費提供給全世界查看。我們的一些網站以前加上了維基百科的詞條了解,但還沒有嵌入過其内容,這次想到用Wikipedia的API來獲取摘要信息,直接放在網站中供人觀看。
Wikipedia是用MediaWiki軟件搭建的,這裡有API的介紹:API:Main page - MediaWiki(也有API中文介紹,但其中很多内容沒有翻譯,最好還是直接看英文的)。
我們目前全都是查詢信息,也就是Query動作,主要用到三個接口:
- 重定向