本系列文章詳細介紹使用 .net core 和 WPF 開發 升訊威線上客服與營銷系統 的過程。本產品已經成熟穩定並投入商用。
免費使用 & 私有化部署:https://kf.shengxunwei.com
視訊實拍:演示升訊威線上客服系統在網路中斷,直接禁用網路卡,拔掉網線的情況下,也不丟訊息,不出異常。
https://blog.shengxunwei.com/Home/Post/fe432a51-337c-4558-b9e8-347b58cbcd53
隨著系統的使用者越來越多,陸續有客戶向我提出反饋意見,關於訪客 IP 地址定位的問題,之前我用的是百度 IP 定位的 API 介面,這種方式有幾個比較大的問題:
- 需要實名註冊認證百度賬戶。
- 只能定位國內IP地址,國外不支援。
- 只有1000次/天的使用額度,有使用者訪客量較大之後,就只能顯示成未知來源了。
隨時使用者的增多,特別是有些使用者的訪客量會話量很大,呼叫百度API定位也出現了明顯的效能不足,並且百度限制了併發數量,不能併發請求。
只有一個辦法,徹底放棄百度IP介面,通過離線IP資料庫,自主查詢定位了。本篇將詳細介紹實現辦法。
老規矩,先看看實現效果,已經可以定位海外IP:
下載安裝 GeoIP
所謂 GeoIP,就是通過來訪者的IP, 定位他的經緯度,國家/地區,省市,甚至街道等位置資訊。這裡面的技術不算難題,關鍵在於有個精準 的資料庫。有了準確的資料來源就奇貨可居賺點小錢,可是發揚合作精神,集體貢獻眾人享用是我們追求的。
第一步:下載 GeoIP 庫
訪問 GeoIP 官網下載離線檔案:https://geoip.com
下載後上傳到部署Nginx所在的伺服器,上傳方式可以使用wscp等。我上傳的目錄為Centos7.6伺服器的 /usr/local/share/GeoIP,上傳成功後,執行如下命令解壓
cd /usr/local/share/GeoIP
tar -zxvf GeoIP-1.4.8.tar.gz
第二步:編譯,安裝
執行如下命令
cd /usr/local/share/GeoIP/GeoIP-1.4.8
./configure && make && make install
第三步:配置 Nginx
首先進入Nginx資料夾sbin下檢視是否已經安裝了GeoIP模組
./configure --prefix=/usr/local/nginx --with-http_geoip_module && make && make install
使用 GeoIP 定位
GeoIP + PHP的使用
include("geoip.inc.php");
// 開啟資料檔案
$gi = geoip_open("GeoIP.dat",GEOIP_STANDARD);
// 獲取國家程式碼
$country_code = geoip_country_code_by_addr($gi, $_SERVER['REMOTE_ADDR']);
echo "Your country code is: $country_code ";
// 獲取國家名稱
$country_name = geoip_country_name_by_addr($gi, $_SERVER['REMOTE_ADDR']);
echo "Your country name is: $country_name ";
// 關閉檔案
geoip_close($gi);
完工!
最後安利一下我這個程式設計師業餘肝出來的產品,線上使用和完整下載私有化部署都是免費的,希望對你有用,謝謝!
免費使用 & 私有化部署:https://kf.shengxunwei.com
私有化版下載地址與版本說明: ?
https://docs.shengxunwei.com/Post/f7bc8496-14ee-4a53-07b4-08d8e3da6269/553293a8-dfa1-4282-bc3f-96c6c623fc9a