原创 macOS 安裝 sshpass

前言 sshpass是ansible密碼輸入的必要條件,在Linux中使用yum install sshpass或者apt-get install sshpass都可以輕鬆安裝,但在macOS新版本中由於安全原因無法直接使用brew ins

原创 Updating Homebrew 卡住的解決方案

前言 換了MacBook 16寸的電腦正好在使用brew安裝一些應用,發現一個小問題是每次執行如brew install ansible命令停留在Updating Homebrew...的時間特別長,在新加坡理論上應該和網絡無關,最後按照網

原创 nc 命令使用小結

前言 nc是netcat的簡寫,有着網絡界的瑞士軍刀美譽。因爲它短小精悍、功能實用,被設計爲一個簡單、可靠的網絡工具。比如大家很熟悉使用telnet測試tcp端口,而nc可以支持測試linux的tcp和udp端口,而且也經常被用於端口掃描,

原创 Docker容器時間如何與宿主機同步問題解決方案小結

前言 如果在啓動Docker容器的過程中沒有單獨配置localtime,很可能造成Docker容器時間與主機時間不一致的情況,比如UTC和CST相差8小時,換句話來說就是容器時間與北京時間相差8個小時。 更新歷史 2020年08月13日 -

原创 ethtool原理介紹和解決網卡丟包排查思路

前言 之前記錄過處理因爲LVS網卡流量負載過高導致軟中斷髮生丟包的問題,RPS和RFS網卡多隊列性能調優實踐,對一般人來說壓力不大的情況下其實碰見的概率並不高。這次想分享的話題是比較常見服務器網卡丟包現象排查思路,如果你是想了解點對點的丟包

原创 VMware Fusion NAT無法連網解決方案

前言 因爲在macOS下實在仍受不了VirtualBox的各種Bug和低性能,轉投熟悉的VMware Fusion後本來一直都挺穩定的,但在一次Linked Clone鏈接克隆中發現NAT網絡下VM可以訪問外網但宿主機和虛擬機之間的網絡卻無

原创 作爲程序猿我爲什麼選擇了一副比A4紙還輕的眼鏡

前言 首先申明這不是軟文也不想成爲標題黨,糾正後的簡潔標題應該是《如何選擇一副眼鏡》,比A4紙還輕指的是鏡架不包括鏡片,職業雖然屬於IT但這篇文章也同樣適合大部分人閱讀。之前我也寫過《我是如何做到花8000元拔智齒的》和《從國內跳槽至新加坡

原创 Bash腳本遞歸查詢批量修改文件名

前言 需求是批量修改.crt和.key爲ssl.chain.crt和server.key,爲什麼會有這樣的需求主要是踩了一個大坑Sectigo AddTrust External CA Root Expiring May 30, 2020,

原创 使用certbot代替acme.sh免費申請wildcard通配符證書和自動更新實踐小結

[圖片上傳失敗...(image-28ebc4-1582189886704)] 前言 因爲Google Chrome和運營商劫持干擾訪問者體驗的努力推動了大型網站加速應用全站HTTPS,而Let's Encrypt這個項目通過自動化把配置和

原创 模板引擎Jinja2語法介紹

前言 Flask和Django,以及其它很多Python框架如Ansible,都默認使用Jinja2來作爲模版引擎。我們用Jinja2在服務器上直接生成配置和其他文件。 Jinja是一個基於Python設計語言的“全功能模板引擎”,個人認爲

原创 Redfish下一代數據中心管理標準詳解和實踐

[圖片上傳失敗...(image-fb4cba-1588146034160)] 前言 縱觀現在的服務器從以前閉源的管理系統,如DELL的OpenManage和iDRAC,華爲的iBMC,惠普的OneView和iLO,聯想的XClarity和

原创 IP2Location Nginx Module配置使用小結

前言 IP2Location主要是用於代替MaxMind GeoIP,原因是GeoIP數據庫針對中國的Blacklist黑名單有非常高的誤傷率,選擇IP2Location可以有效降低誤傷,爲了業務需求得及時做出改變。在使用IP2Locati

原创 SWAP常見問題分析和性能調優配置實踐小結

前言 SWAP內存交換分區對大家來說是一個經常被忽視的細節,如果大家對SWAP配置不是很熟悉可以參考文章內提到的Red Hat SWAP SPACE最佳實踐配置鏈接。本文主要分享SWAP的基礎知識和優化建議,以及如何使用ansible優雅的

原创 RHEL/CentOS安裝EPEL/Remi擴展倉庫配置小結

前言 最近因爲需要編譯libip2location,原本計劃像之前一樣使用rpmbuild製作Nginx的RPM包整合爲一個rpm包,結果按照IP2Location官方的步驟愣是沒有搞定,只能退而求其次選擇了libip2location-8

原创 Nginx禁止未綁定域名或IP訪問80和443端口實踐小結

前言 nginx在決定請求由哪個server塊執行時,主要關注的是server塊中的listen和server_name兩個字段,如果根據listen指令無法得到最佳匹配,將會開始解析server_name指令。nginx會檢查請求中的"H