服务器硬件维护-wordpress国内网速慢加速及防DDOS攻击快速CF切换教程

最近,有客户说他网站在国外,但国内网站速度翻开十分慢,由于国内国外用户拜访都比较频繁,希望对他们的网站www.pjcourse.com国内拜访速度做个提高。他们的程序用的是wordpress。总的来说,wordpress的插件模板加载数据比较多,就算装置了wprocket这类缓存插件,做了js,css压缩,或许数据库优化。其实对网站的速度也并不会有太大提高。

经过一些简单的剖析之后,我打算把他们的网站搬到cn2 gia线路的空间商,这也许是最快速的提高网站速度的办法。以下便是我的一些实战分享,以及网站遇到进犯,怎么快速切换数据。

注:这台机器尽管放在国外,但百度蜘蛛抓取出现403等过错的概率几乎就没有了。

一、现网站的情况剖析

网站在搬家之前,空间放置在digitalocean,cdn走的是cloudflare。尽管digitalocean在国外是十分不错的空间商,但对国内用户来说,拜访走了cloudflare,所以速度依然十分慢。其他,分线路dns做解析,尽管也是能够,但操作会比较麻烦。所以本文不评论。

通过无痕浏览器chrome,能够看出速度在6.35秒才悉数翻开。前期烘托用了4.46秒。其他,通过站长之家测速也能够看出。电信线路稍微快一些。但联通和移动的速度显着都超过了4秒以上。

二、网站搬家

关于空间商的挑选,其实只要选对稳定的空间,好的线路。根本上都是能够的。我现在选的是bwg的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 是指定端口。由于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。一个是移除匿名用户,一个是禁止数据库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 http://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 http://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 Triggers: ● certbot.service

三、测验新网站网速

直接用国内电信拜访,网站翻开时刻有了显着的提高。对比之前的速度大约提高了2-3倍。而且这仍是晚上的速度。晚上的拜访速度一点没受影响。

除了标红的一个地址dns解析还没收效,其他已经收效的IP速度显着都在2秒以内翻开。

四、防DDOS进犯及cloudflare快速切换攻防

这儿我引荐运用cloudflare本装备你的网站。默认情况下,不敞开CDN。也便是域名直接指向IP。但如果在遇到ddos等进犯的时分,建议当即敞开cloudflare的署理,并把IP指向你备份的克隆空间。由于IP做了躲藏,而进犯者的很多进犯数据也会被Cloudflare过滤掉,所以只要呼应及时,就能够在短短几分钟内康复你的网站。

其他,能够通过access.log拜访日志来定位你的进犯来源IP。并在cloudflare的防火墙中,直接过滤可疑IP。比如用阻止拜访,或许验证码的方法来定位进犯者。而且cf的选项还能够屏蔽整个国家。

其他,敞开under attack形式。可有效阻止中小型进犯。