तेजी लाने के लिए स्व-निर्मित सीडीएन बनाने के लिए फ़िकर कैश स्थापित करें क्योंकि मैं पिछले कुछ दिनों में वेबसाइट थीम को संशोधित करने में व्यस्त हूं, इसलिए मैं अब इस स्व-निर्मित सीडीएन टूल को तुरंत साझा कर रहा हूं। आधिकारिक वेबसाइट पर परिचय का ध्यानपूर्वक अध्ययन करने के बाद, मैंने पाया कि फ़िक्कर को स्थापित करना और उपयोग करना आसान है। यह आपकी अपनी सीडीएन बनाने के लिए एक अच्छा सॉफ्टवेयर है। आधिकारिक वेबसाइट के अनुसार, फ़िकर एक पेशेवर-स्तरीय वेबसाइट कैश (वेबकैश) और सीडीएन/वेबमास्टर्स के लिए रिवर्स प्रॉक्सी सर्वर सॉफ़्टवेयर (रिवर्स प्रॉक्सी सर्वर) है। जिन कार्यों को लागू किया जा सकता है उनमें रिवर्स प्रॉक्सी + पेज कैशिंग + रीयल-टाइम मॉनिटरिंग + शामिल हैं ट्रैफ़िक आँकड़े + पुनर्निर्देशन प्रबंधन + HTTPS + CC हमले की रोकथाम। लेकिन फ़िकर के मुफ़्त संस्करण को देखने के बाद, ऐसा लगता है कि पेज कैशिंग फ़ंक्शन उपलब्ध नहीं है। इसलिए मुफ़्त संस्करण का उपयोग केवल छवियों, जेएस और सीएसएस जैसे स्थिर संसाधनों के लिए सीडीएन को तेज करने के लिए किया जा सकता है। फ़िक्कर में एक मुख्य नियंत्रण प्रणाली भी है, जिसका उपयोग कई फ़िक्कर कैश नोड्स को समान रूप से प्रबंधित करने और एक नया सीडीएन कैश सिस्टम बनाने के लिए किया जा सकता है। वेबसाइट निर्माण सॉफ़्टवेयर और प्रोग्राम के बारे में अधिक विकल्पों के लिए, आप देख सकते हैं:
- एलएनएमपी: वनइनस्टैक के लिए एक-क्लिक इंस्टॉलेशन स्क्रिप्ट - लेट्स एनक्रिप्ट सर्टिफिकेट को आसानी से तैनात करें और HTTPS साइट को कॉन्फ़िगर करें
- लाइव वीडियो स्टेशन बनाने के लिए JW प्लेयर, ckplayer, Smartideo का उपयोग करें - प्रमुख वीडियो वेबसाइटों और rtmp का समर्थन करता है
- लिनक्स वीपीएस वेबसाइट निर्माण उपकरण एलएनएमपी 1.4 स्थापना और उपयोग-एसएसएल स्वचालित कॉन्फ़िगरेशन नवीनीकरण और बहु-संस्करण PHP समर्थन
1. फ़िकर स्थापना विधि
फ़िक्कर आधिकारिक वेबसाइट: https://www.fikker.com, 2010 में गुआंगज़ौ फेइके नेटवर्क टेक्नोलॉजी कंपनी लिमिटेड द्वारा स्थापित। इंस्टॉलेशन की तैयारी: फ़िकर को पोर्ट 80/443/6780 की निगरानी करने की आवश्यकता है। यदि आपके सर्वर ने पहले से ही Nginx/Apache और अन्य सेवाओं को स्थापित किया है, तो इसे पहले निष्क्रिय करने की आवश्यकता है। इंस्टॉलेशन के लिए एक नए VPS का उपयोग करने की अनुशंसा की जाती है .#安装wget,若已经安装这一步可省略
yum -y install wget
#下载安装包
wget -c http://www.fikker.com/dl/fikkerd-3.7.3-linux-x86-64.tar.gz
#解压
tar zxvf fikkerd-3.7.3-linux-x86-64.tar.gz
#进入安装目录
cd fikkerd-3.7.3-linux-x86-64
#运行Fikker
./fikkerd.sh start
इंस्टॉलेशन प्रारंभ करें: निम्नलिखित कमांड को क्रम में कॉपी करें (रूट उपयोगकर्ता की आवश्यकता है) और उन्हें निष्पादित करें: यह CentOS 6.x/7.x जैसे ऑपरेटिंग सिस्टम के 64-बिट संस्करणों के लिए उपयुक्त है CPU और 4GB से अधिक मेमोरी की कोई आवश्यकता नहीं है। जैसा कि ऊपर बताया गया है, फ़िकर पोर्ट 80/443/6780 को सुनता है। कृपया ध्यान दें कि फ़ायरवॉल पोर्ट पर, निम्नलिखित कमांड दर्ज करें:#如果防火墙使用的iptables(Centos 6)
iptables -I INPUT -p tcp --dport 80 -j ACCEPT
iptables -I INPUT -p tcp --dport 443 -j ACCEPT
iptables -I INPUT -p tcp --dport 6780 -j ACCEPT
service iptables save
service iptables restart
#如果使用的是firewall(CentOS 7)
firewall-cmd --zone=public --add-port=80/tcp --permanent
firewall-cmd --zone=public --add-port=443/tcp --permanent
firewall-cmd --zone=public --add-port=6780/tcp --permanent
firewall-cmd --reload
पूरा होने के बाद, http://IP:6780 पर जाएं। प्रारंभिक पासवर्ड 123456 है। यदि इसे खोला नहीं जा सकता है, तो यह जांचने के लिए कि क्या पोर्ट सुन रहा है और क्या फ़ायरवॉल पोर्ट की अनुमति देता है, कृपया कमांड नेटस्टैट -apn|grep '6780' दर्ज करें। . मूल साइट सेट करें: होस्ट जोड़ने के बाद, आपको सीडीएन नोड को यह बताने के लिए रिटर्न-टू-ओरिजिन पता भी सेट करना होगा कि मूल साइट जोड़ने के बाद आपको कहां से डेटा प्राप्त करना है हो गया। आप DNS को CDN नोड में हल कर सकते हैं। (बड़ा करने के लिए क्लिक करें) अन्य ऑपरेशन: यदि आपको फ़िकर को एक सेवा के रूप में पंजीकृत करने की आवश्यकता है, तो कृपया निम्नलिखित आदेश निष्पादित करें:#注册服务
./fikkerd.sh install
#停止服务
./fikkerd.sh stop
#删除服务
./fikkerd.sh uninstall
3. स्व-निर्मित सीडीएन प्रणाली
चरण एक: सबसे पहले फ़िकर कैश स्थापित करें (लिनक्स/विंडोज़ सिस्टम का समर्थन करता है)। कैश त्वरण/रिवर्स प्रॉक्सी आदि के लिए एक या अधिक कैश नोड सर्वर पर फ़िकर कैश स्थापित करें। चरण 2: फिर फ़िक्कर CDN मास्टर नियंत्रण स्थापित करें। एकाधिक कैश नोड्स को प्रबंधित करने और प्रत्येक नोड के कॉन्फ़िगरेशन/डोमेन नाम ट्रैफ़िक सांख्यिकी/उपयोगकर्ता प्रबंधन/पैकेज प्रबंधन को सिंक्रनाइज़ करने के लिए उपयोग किया जाता है। नोट: वैकल्पिक स्थापना आइटम। जब कुछ नोड हों, तो मास्टर नियंत्रण की आवश्यकता नहीं होती है। (बड़ा करने के लिए क्लिक करें) चरण 3: अंत में, तृतीय-पक्ष इंटेलिजेंट रिज़ॉल्यूशन (जैसे Cloudxns/DNSpod/51DNS/DNSla, आदि) का उपयोग करें। पोलिंग/क्षेत्र/लाइन तरीके से प्रत्येक कैश नोड सर्वर आईपी के लिए वेबसाइट के डोमेन नाम को हल करने के लिए तृतीय-पक्ष बुद्धिमान रिज़ॉल्यूशन का उपयोग करें। नोट: मुख्य नियंत्रण आईपी का समाधान न करें।4. सारांश
फ़िक्कर सीडीएन आसानी से आपकी खुद की सीडीएन सेवा बना सकता है और HTTP/HTTPS का समर्थन करता है, लेकिन फ़िकर 80/443 पर है, जिससे आपकी अपनी वेब सेवा के साथ सह-अस्तित्व असंभव हो जाता है। यदि आप परेशान नहीं होना चाहते हैं, तो बस तृतीय-पक्ष CDN का उपयोग करें। सीडीएन को सक्षम करने के बाद, आप पाएंगे कि आपके प्रोग्राम द्वारा प्राप्त उपयोगकर्ता आईपी कैश नोड का आईपी बन गया है। उपयोगकर्ता का वास्तविक आईपी प्राप्त करने के लिए, कृपया संबंधित समायोजन करने के लिए निम्नलिखित कोड देखें।#php 获得用户真实 IP 代码举例:
function getRemoteIP()
{
if (!isset($_SERVER["HTTP_X_FORWARDED_FOR"])) /* 存在 X-Forwarded-For 吗? */
{
return $_SERVER["REMOTE_ADDR"]; /* 兼容已有程序 */
}
return $_SERVER["HTTP_X_FORWARDED_FOR"]; /* 返回用户真实 IP, 如为多个 IP 时, 则取第一个 */
}
#asp.net 获得用户真实 IP 代码举例:
void getRemoteIP()
{
string SourceIP = Request.ServerVariables["HTTP_X_FORWARDED_FOR"]; /* 存在 X-Forwarded-For 吗? */
if (string.IsNullOrEmpty(SourceIP))
{
SourceIP = Request.ServerVariables["REMOTE_ADDR"]; /* 兼容已有程序 */
}
Response.Write(SourceIP); /* 返回用户真实 IP, 如为多个 IP 时, 则取第一个 */
}
#asp 获得用户真实 IP 代码举例:
0 Then
strIPAddr = Request.ServerVariables("REMOTE_ADDR")
ElseIf InStr(Request.ServerVariables("HTTP_X_FORWARDED_FOR"), ",") > 0 Then
strIPAddr = Mid(Request.ServerVariables("HTTP_X_FORWARDED_FOR"), 1, InStr(Request.ServerVariables("HTTP_X_FORWARDED_FOR"), ",")-1)
ElseIf InStr(Request.ServerVariables("HTTP_X_FORWARDED_FOR"), ";") > 0 Then
strIPAddr = Mid(Request.ServerVariables("HTTP_X_FORWARDED_FOR"), 1, InStr(Request.ServerVariables("HTTP_X_FORWARDED_FOR"), ";")-1)
Else
strIPAddr = Request.ServerVariables("HTTP_X_FORWARDED_FOR")
End If
getIP = Trim(Mid(strIPAddr, 1, 30))
End Function
ip=getRemoteIP()
response.write(ip)
%>