同事發現我們對一些采集爬蟲進行限制後,給出的403拒絕狀态也會被CDN緩存起來,造成後續正常用戶訪問的時候也被拒絕,于是詳細了解了各CDN對http/https訪問報錯狀态的緩存處理。
首先是看Cloudflare,其文檔 Configuring cache TTL by status code 中有明确說明,如果在沒有設置Cache Control的情況下:
- HTTP 200, 301: 120分鐘
- HTTP 302: 20分鐘
- HTTP 404: 10分鐘
- HTT
同事發現我們對一些采集爬蟲進行限制後,給出的403拒絕狀态也會被CDN緩存起來,造成後續正常用戶訪問的時候也被拒絕,于是詳細了解了各CDN對http/https訪問報錯狀态的緩存處理。
首先是看Cloudflare,其文檔 Configuring cache TTL by status code 中有明确說明,如果在沒有設置Cache Control的情況下:
很多網友并不是很了解Emoji,在我們EmojiAll對應的一個QQ群(群号:774842773)中總有人問如何添加一個Emoji,請我們幫忙,或者說願意付費來添加,這些朋友多數是希望在自己的某個軟件中增加一個特别的符号。
人工智能近年來持續火熱,我們做互聯網很多年了,但以前也一直覺得人工智能太高端,沒有怎麼涉及。直到去年在EmojiAll項目中開始準備做Emoji的統計分析工作,其中有一項是做Emoji的情緒分析,就需要用到典型的人工智能算法。
對Emoji信息進行收集、整理,初期簡單的數據統計,學習國外相關論文,摸索算法模型,實際訓練數據,處理結果分析,誤差校正處理,直到最後的Emoji情緒分析數據展示,大約花了半年時間。成果還是很明顯的,很多人關注我們做的Emoji情緒分析,國内外大學都有老師、學生與我們聯系數據引用、合作等事宜。
考慮到未來人工智能的發現,我們
我們的EmojiAll網站從兩年多前開始做以後,陸續還有幾個中文Emoji網站出現,有些網站的結構、布局、設計、欄目等等與我們類似,多少是受到我們啟發的吧,如果内容是他們自己做的,不是抄襲的,也沒有關系,各自做出各自的特色出來,都是為網民服務,公平競争,優勝劣汰。
但最近發現一個站www.emojitip.com居然把我們為每一個Emoji寫的描述和舉例都複制過去了,這就過分了,我們這些都是花了大量時間精力來寫的原創内容,請各種語言的實習同學們編寫花的費用也是以十萬來記的,這樣赤裸裸的抄襲也是膽子大。兩個網站對同一個Emoji進行介紹的内容的對比截圖如下:
2019年我們就開始用PHP繪圖功能在網站上輸出圖片,除了在線輸出PNG圖片以外,我們還做了輸出GIF動畫圖、SVG矢量圖等功能,在網站中應用的效果也非常好。
不過也發現爬蟲過多的時候,對服務器負載和帶寬有比較大的影響,于是我們最近采取了幾項措施。
首先是接入了Cloudflare或者百度雲加速,讓圖片可以保存到CDN中,這樣降低了很多源站訪問。
但有個别站圖片數量非常多,緩存效果不明顯,我們就幹脆把PHP在線生成圖片改為了讀取保存在磁盤中的.png文件,這樣相當于又添加了一級緩存,免除了讀取對應數據庫、調用字體字庫、圖形繪制等
我們網站幾年來一直使用Let's Encrypt的免費SSL證書,在服務器上設置了定時檢查、更新以後,每三個月證書會自動續期,也是不費事。後來部分網站接入了Cloudflare的CDN服務,無論是通過代理商的cname接入方式還是直接ns接入方式,源站服務器上的SSL證書更新都沒有特别的問題。
但後來部分國内站點接入百度雲加速的CDN服務後,源站上的SSL證書更新就有問題,無論是cname接入方式還是ns接入方式,下面來分别記錄。
域名解析服務還是由dnspod提供,源服務器上運行
很多年前一直在使用MySQL 5.x,前幾年開始用阿裡雲RDS的時候,也是使用的MySQL 5.5、5.6、5.7,最近有Aliyun RDS陸續到期,看到新購RDS有MySQL 8.0的選項,再查閱一些資料,說MySQL 8.0性能上比5.x有大幅提高,而且5.x逐步也不再被MySQL官方和阿裡雲支持,想到如果直接續費3年的話,老版本還有幾年都無法升級,就幹脆這次新購MySQL 8.0版本的RDS,把老數據進行遷移,下面是遷移中遇到一些問題的記錄。
我們采取的是使用mysqldump命令備份老RDS上的庫到.sql文件,然後使用mysql命令逐個還原.sql文件到新
開始用CloudFlare後,留意到菜單中有一個明顯的“Workers”菜單項,查看在線幫助文檔,說是“在全球數以百計的 Cloudflare 數據中心中運行 JavaScript Service Workers。修改站點的 HTTP 請求和響應,發出并行請求或從邊緣生成響應”,有一些簡明的使用示例,還是比較清晰的。
這個Workers服務CloudFlare也提供了免費使用,隻是在資源消耗方面做了一些限制,如果需要更大量的服務則可以付費購買,這也很合理。這種邊緣計算也是未來的發展方向,ServerLess等概念也是很前
我們從前年、去年開始就縮減了一些以前的多語言網站,将很少人訪問的語言取消掉,取消語言後的跳轉以前是在.htaccess中設置的,同事處理起來比較麻煩,現在幹脆寫了一段代碼放在html.tpl.php的開頭位置,從當前網址中分離出可能的語言代碼,如果是已經取消的就301跳轉到默認語言對應的網址去,PHP程序代碼如下:
//jamesqi 2021-6-29 not availabled languages 301 redirect to default language $server_name = $_SERVER['SERVER_NAME'
今天同事需要清理memcache中某種前綴的key的值,但memcache沒有專門的這種命令,我幫忙在網上找了一段程序:
How about this function in php: function deletekeysbyindex($prefix) { $m = new Memcached(); $m->addServer('localhost', 11211); $keys = $m->getAllKeys(); foreach ($keys as $index => $
2002-2023 v11.7 a-j-e-0