【教學】wordpress國內網路速度慢加速及防DDOS攻擊快速CF切換

藏色散人
發布: 2021-02-20 17:20:15
轉載
2876 人瀏覽過

最近,有客戶說他網站在國外,但國內網站速度打開非常慢,因為國內國外用戶訪問都比較頻繁,希望對他們的網站www.pjcourse .com國內訪問速度做個提升。他們的程式用的是wordpress。總的來說,wordpress的插件模板載入資料比較多,就算安裝了wprocket這類快取插件,做了js,css壓縮,或是資料庫優化。其實對網站的速度也不會有太大提升。

經過一些簡單的分析之後,我打算把他們的網站搬到cn2 gia線路的空間商,這也許是最快速的提升網站速度的辦法。以下就是我的一些實戰分享,以及網站遇到攻擊,如何快速切換資料。

【教學】wordpress國內網路速度慢加速及防DDOS攻擊快速CF切換註:這台機器雖然放在國外,但百度蜘蛛抓取出現403等錯誤的機率幾乎就沒有了。

一、現網站的狀況分析

網站在搬遷前,空間放置在digitalocean,cdn走的是cloudflare。雖然digitalocean在國外是非常不錯的空間商,但對國內用戶來說,訪問走了cloudflare,所以速度仍然非常慢。

另外,分線路dns做解析,雖然也是可以,但操作會比較麻煩。所以本文不討論。

透過無痕瀏覽器chrome,可以看出速度在6.35秒才全部開啟。前期渲染花了4.46秒。

另外,透過站長之家測速也可以看出。電信線路稍微快一些。但聯通和移動的速度明顯都超過了4秒以上。

二、網站搬遷

關於空間商的選擇,其實只要選對穩定的空間,好的線路。基本上都是可以的。我現在選的是搬運工的cn2 gia ecommerce。 cn2 gia最大的優點就是國內三網存取都非常快。而這個空間商也是速度最穩定的。我現在第一季49.99美元,其實相當於一個月16美元。

SSD: 20 GB RAID-10

RAM: 1 GB

CPU: 2x Intel Xeon

Transfer: 1000 GB/mo

這個可以依照每個人的情況不同,選擇不同的主機。但推薦大家在一開始流量不是非常大的情況下,不用買特別好的主機,後續可以再擴充。

##1、作業系統選擇

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

##2、命令列

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

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

ssh root@

.

.

. -p 埠號#上面星號是IP位址。 -p 是指定連接埠。因為搬運工的預設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。一個是移除匿名用戶,一個是禁止資料庫root遠端登錄,最後是移除測試資料庫。

最後選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(重啟並載入設定)

## 步驟五:把網站資料搬過來

因為我的網站是wordpress,可能你們的網站是別的程式寫的,所以內容不一樣。這裡就不寫了。另外,記得做/etc/nginx/sites-enable/目錄下面的nginx.conf

server {
   listen 80;
   server_name your_domain www.your_domain;
   server_name your_domain www.your_domain;

   serverroot /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為你自己網站的網域名稱。如果是多個子網域。就自己添加。

這裡要注意一下,先要把dns指向目前VPS,否則設定會不成功,如果是用Cloudflare。要關閉CDN。

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

就表示安裝成功了。

這個憑證有效時間是90天,但certbot會每天執行兩個systemd計時器,來檢查憑證有效性,並自動續訂憑證。你要檢查計時器是否有效。

sudo systemctl status certbot.timer

輸出結果如下,就表示正常。

● 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

service  Triggers: service #obotgers: 2112 UTC;

##三、測試新網站網速

直接用國內電信訪問,網站開啟時間有了明顯的提升。對比之前的速度大概提升了2-3倍。而這還是晚上的速度。晚上的訪問速度一點沒受影響。

除了標紅的一個位址dns解析還沒生效,其餘已經生效的IP速度明顯都在2秒內開啟。

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

這裡我推薦使用cloudflare本來配置你的網站。預設情況下,不開啟CDN。也就是網域直接指向IP。但如果在遇到ddos等攻擊的時候,建議立即開啟cloudflare的代理,並把IP指向你備份的克隆空間。因為IP做了隱藏,而攻擊者的大量攻擊資料也會被Cloudflare過濾掉,所以只要回應及時,就可以在短短幾分鐘內恢復你的網站。

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

另外,開啟under attack模式。可有效阻止中小型攻擊。


文章出處:www.pjcourse.com

以上是【教學】wordpress國內網路速度慢加速及防DDOS攻擊快速CF切換的詳細內容。更多資訊請關注PHP中文網其他相關文章!

相關標籤:
來源:learnku.com
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板