wordpress國內(nèi)網(wǎng)速慢加速及防DDOS攻擊快速CF切換教程
  • 更新時間:2024-10-30 18:18:54
  • 建站經(jīng)驗
  • 發(fā)布時間:1年前
  • 284

最近,有客戶說他網(wǎng)站在國外,但國內(nèi)網(wǎng)站速度打開非常慢,因為國內(nèi)國外用戶訪問都比較頻繁,希望對他們的網(wǎng)站www.pjcourse.com國內(nèi)訪問速度做個提升。他們的程序用的是wordpress??偟膩碚f,wordpress的插件模板加載數(shù)據(jù)比較多,就算安裝了wprocket這類緩存插件,做了js,css壓縮,或者數(shù)據(jù)庫優(yōu)化。其實對網(wǎng)站的速度也并不會有太大提升。


經(jīng)過一些簡單的分析之后,我打算把他們的網(wǎng)站搬到cn2 gia線路的空間商,這也許是最快速的提升網(wǎng)站速度的辦法。以下就是我的一些實戰(zhàn)分享,以及網(wǎng)站遇到攻擊,如何快速切換數(shù)據(jù)。


注:這臺機器雖然放在國外,但百度蜘蛛抓取出現(xiàn)403等錯誤的概率幾乎就沒有了。


一、現(xiàn)網(wǎng)站的情況分析

網(wǎng)站在搬遷之前,空間放置在digitalocean,cdn走的是cloudflare。雖然digitalocean在國外是非常不錯的空間商,但對國內(nèi)用戶來說,訪問走了cloudflare,所以速度依然非常慢。另外,分線路dns做解析,雖然也是可以,但操作會比較麻煩。所以本文不討論。


通過無痕瀏覽器chrome,可以看出速度在6.35秒才全部打開。前期渲染用了4.46秒。另外,通過站長之家測速也可以看出。電信線路稍微快一些。但聯(lián)通和移動的速度明顯都超過了4秒以上。


二、網(wǎng)站搬遷

關(guān)于空間商的選擇,其實只要選對穩(wěn)定的空間,好的線路?;旧隙际强梢缘?。我現(xiàn)在選的是bwg的cn2 gia ecommerce。cn2 gia最大的優(yōu)勢就是國內(nèi)三網(wǎng)訪問都非???。而這個空間商也是速度最穩(wěn)定的。我現(xiàn)在一季度49.99美元,其實相當于一個月16美元。

SSD: 20 GB RAID-10

RAM: 1 GB

CPU: 2x Intel Xeon

Transfer: 1000 GB/mo


這個可以根據(jù)每個人的情況不同,選擇不同的主機。但推薦大家在一開始流量不是非常大的情況下,不用買特別好的主機,后續(xù)可以再擴容。


1、操作系統(tǒng)選擇

我用的是ubuntu 20.04。php 7.4 + nginx + mysql。為什么選這個呢。因為php 7.4的速度比php 7.2的快30%。


2、命令行

為什么不用寶塔?因為前段時間寶塔剛出了一個大漏洞。而且網(wǎng)站這一塊,本人感覺還是盡量少用別的第三方工具。另外,搭建的VPS也可以盡量的干凈整潔。少一些外部程序。

以下命令行,建立在ubuntu 20.04的基礎(chǔ)上。只要按著命令。基本都不會錯。


ssh root@***.***.***.*** -p 端口號

上面星號是IP地址。-p 是指定端口。因為bwg的默認ssh端口不是22,所以這里要指定。

第一步:安裝nginx

sudo apt update

sudo apt install nginx


第二步:開啟防火墻

sudo ufw app list

sudo ufw allow 'OpenSSH'

sudo ufw allow 'Nginx HTTPS'

sudo ufw allow 'Nginx HTTP'

sudo ufw enable --- 這條命令打完的時候,會提示可能會中斷ssh 連接。直接輸入y回車。


第三步:安裝mysql

sudo apt install mysql-server

sudo mysql_secure_installation (此步驟可選,這是一個安全腳本)。


輸入y回車,選擇2,最強密碼,輸入新密碼,這個密碼是mysql 的root密碼。


接著全部選y。一個是移除匿名用戶,一個是禁止數(shù)據(jù)庫root遠程登錄,最后是移除測試數(shù)據(jù)庫。

最后選y。腳本立即生效。

第四步:安裝php模塊

sudo apt install php-imagick php7.4-fpm php7.4-mbstring php7.4-bcmath php7.4-xml php7.4-mysql php7.4-common php7.4-gd php7.4-json php7.4-cli php7.4-curl php7.4-zip

此處就是一條命令,整個代碼復制就可以。這個基本上包含了wordpress能用上的所有模塊。

sudo systemctl reload php7.4-fpm nginx(重啟并加載配置)


第五步:把網(wǎng)站數(shù)據(jù)搬過來

因為我的網(wǎng)站是wordpress,可能你們的網(wǎng)站是別的程序?qū)懙模詢?nèi)容不一樣。這里就不寫了。另外,記得做/etc/nginx/sites-enable/目錄下面的nginx.conf

server { listen 80; server_name your_domain www.your_domain; root /var/www/your_domain; index index.html index.htm index.php; location / { try_files $uri $uri/ =404; } location ~ \.php$ { include snippets/fastcgi-php.conf; fastcgi_pass unix:/var/run/php/php7.4-fpm.sock; } location ~ /\.ht { deny all; }

替換配置文件中的your_domain為你的域名****.com


第六步:配置安裝ssl

ssl我用的是let's encrypt。

sudo apt install certbot python3-certbot-nginx

sudo certbot --nginx -d example.com -d www.example.com

替換example.com為你自己網(wǎng)站的域名。如果是多個子域名。就自己添加。

這里要注意一下,先要把dns指向當前VPS,否則配置會不成功,如果是用Cloudflare。要關(guān)閉CDN。


看到最后有一句。Congratulations! Your certificate and chain have been saved at:

就說明安裝成功了。

這個證書有效時間是90天,但certbot會每天運行兩個systemd計時器,來檢查證書有效性,并自動續(xù)訂證書。你要檢查計時器是否有效。

sudo systemctl status certbot.timer

輸出結(jié)果如下,就說明正常。

● certbot.timer - Run certbot twice daily Loaded: loaded (/lib/systemd/system/certbot.timer; enabled; vendor preset: enabled) Active: active (waiting) since Mon 2020-05-04 20:04:36 UTC; 2 weeks 1 days ago Trigger: Thu 2020-05-21 05:22:32 UTC; 9h left Triggers: ● certbot.service

三、測試新網(wǎng)站網(wǎng)速

直接用國內(nèi)電信訪問,網(wǎng)站打開時間有了明顯的提升。對比之前的速度大概提升了2-3倍。并且這還是晚上的速度。晚上的訪問速度一點沒受影響。


除了標紅的一個地址dns解析還沒生效,其余已經(jīng)生效的IP速度明顯都在2秒以內(nèi)打開。


四、防DDOS攻擊及cloudflare快速切換攻防


這里我推薦使用cloudflare本配置你的網(wǎng)站。默認情況下,不開啟CDN。也就是域名直接指向IP。但如果在遇到ddos等攻擊的時候,建議立即開啟cloudflare的代理,并把IP指向你備份的克隆空間。因為IP做了隱藏,而攻擊者的大量攻擊數(shù)據(jù)也會被Cloudflare過濾掉,所以只要響應(yīng)及時,就可以在短短幾分鐘內(nèi)恢復你的網(wǎng)站。

另外,可以通過access.log訪問日志來定位你的攻擊來源IP。并在cloudflare的防火墻中,直接過濾可疑IP。比如用阻止訪問,或者驗證碼的方式來定位攻擊者。而且cf的選項還可以屏蔽整個國家。


另外,開啟under attack模式??捎行ё柚怪行⌒凸?。

我們專注高端建站,小程序開發(fā)、軟件系統(tǒng)定制開發(fā)、BUG修復、物聯(lián)網(wǎng)開發(fā)、各類API接口對接開發(fā)等。十余年開發(fā)經(jīng)驗,每一個項目承諾做到滿意為止,多一次對比,一定讓您多一份收獲!

本文章出于推來客官網(wǎng),轉(zhuǎn)載請表明原文地址:https://www.tlkjt.com/experience/7956.html
推薦文章

在線客服

掃碼聯(lián)系客服

3985758

回到頂部