Installa Fikker Cache per creare una CDN autocostruita per accelerare. Poiché negli ultimi giorni sono stato impegnato a modificare il tema del sito Web, condivido rapidamente questo strumento CDN autocostruito. Dopo aver studiato attentamente l'introduzione sul sito ufficiale, ho scoperto che Fikker è facile da installare e utilizzare. È un buon software per creare la propria CDN. Secondo il sito Web ufficiale, Fikker è un software di cache di siti Web (Webcache) e server proxy inverso (Reversed Proxy Server) di livello professionale per CDN/webmaster. Le funzioni che possono essere implementate includono proxy inverso + caching della pagina + monitoraggio in tempo reale + statistiche sul traffico + gestione reindirizzamenti + HTTPS + prevenzione attacchi CC. Ma dopo aver esaminato la versione gratuita di Fikker, sembra che la funzione di memorizzazione nella cache delle pagine non sia disponibile Quindi la versione gratuita può essere utilizzata solo per accelerare CDN per risorse statiche come immagini, JS e CSS. Fikker dispone anche di un sistema di controllo principale, che può essere utilizzato per gestire in modo uniforme più nodi cache Fikker e formare un nuovo sistema cache CDN. Per ulteriori scelte su software e programmi per la creazione di siti Web, puoi consultare:
- LNMP: script di installazione con un clic per OneinStack: distribuisci facilmente il certificato Let's Encrypt e configura il sito HTTPS
- Utilizza JW Player, ckplayer, Smartideo per creare una stazione video dal vivo: supporta i principali siti Web di video e rtmp
- Strumento per la creazione di siti Web Linux VPS Installazione LNMP 1.4 e utilizzo del rinnovo automatico della configurazione SSL e supporto PHP multiversione
1. Metodo di installazione Fikker
Sito ufficiale di Fikker: https://www.fikker.com, fondata nel 2010 da Guangzhou Feike Network Technology Co., Ltd. Preparazione dell'installazione: Fikker deve monitorare la porta 80/443/6780 Se il tuo server ha già installato Nginx/Apache e altri servizi, è necessario prima disattivarlo. Si consiglia di utilizzare un nuovo VPS per l'installazione .#安装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
Avvia l'installazione: Copia i seguenti comandi in sequenza (richiede l'utente root) ed eseguili Nota: è adatto per versioni a 64 bit di sistemi operativi come CentOS 6.x/7.x non è richiesto alcun CPU e più di 4 GB di memoria. Come accennato in precedenza, Fikker ascolta la porta 80/443/6780. Tieni presente che sulla porta del firewall, inserisci il seguente comando:#如果防火墙使用的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
Al termine, visitare http://IP:6780 La password iniziale è 123456. Se non può essere aperta, immettere il comando netstat -apn|grep '6780' per verificare se la porta è in ascolto e se il firewall consente la porta. . Imposta il sito di origine: Dopo aver aggiunto l'host, devi anche impostare l'indirizzo di ritorno all'origine per indicare al nodo CDN dove ottenere i dati Dopo aver aggiunto il sito di origine, sei fatto. Puoi risolvere il DNS sul nodo CDN. (Clicca per ingrandire) Altre operazioni: Se devi registrare Fikker come servizio, esegui il seguente comando:#注册服务
./fikkerd.sh install
#停止服务
./fikkerd.sh stop
#删除服务
./fikkerd.sh uninstall
3. Sistema CDN autocostruito
Passaggio uno: Installa prima la cache Fikker (supporta i sistemi Linux/Windows). Installa la cache Fikker su uno o più server del nodo cache per l'accelerazione della cache/proxy inverso, ecc. Passaggio 2: Quindi installare il controllo master CDN Fikker. Utilizzato per gestire più nodi cache e sincronizzare le statistiche di configurazione/traffico dei nomi di dominio/gestione degli utenti/gestione dei pacchetti di ciascun nodo. Nota: elemento di installazione opzionale Quando sono presenti pochi nodi, il controllo master non è richiesto. (Fai clic per ingrandire) Passaggio 3: Infine, utilizza una risoluzione intelligente di terze parti (come Cloudxns/DNSpod/51DNS/DNSla, ecc.). Utilizzare la risoluzione intelligente di terze parti per risolvere il nome di dominio del sito Web nell'IP del server di ciascun nodo della cache in modalità polling/regione/linea. Nota: non risolvere l'IP di controllo principale.4. Riepilogo
Fikker CDN può facilmente creare il tuo servizio CDN e supporta HTTP/HTTPS, ma Fikker occupa 80/443, rendendo impossibile la coesistenza con il tuo servizio WEB. Se non vuoi preoccuparti, usa semplicemente un CDN di terze parti. Dopo aver abilitato la CDN, scoprirai che l'IP utente ottenuto dal tuo programma è diventato l'IP del nodo cache. Per ottenere l'IP reale dell'utente, fare riferimento al seguente codice per apportare le modifiche corrispondenti.#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)
%>