本文是关于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秒。
##
二、网站搬迁
至于空间商的选择,其实只需要选择一个稳定的空间,一条好的路线。基本上都是可以的。我选择cn2 gia电子商务谁移动砖家。cn2 gia最大的优势是接入国内三网非常快。而这个空间商也是最稳定的速度。我现在一季度49.99美元,其实相当于一个月16美元。
SSD: 20 GB磁盘阵列10
RAM: 1 GB
CPU: 2x英特尔至强
传输: 1000 GB/mo
这个可以根据每个人的情况选择不同的主持人。不过建议在流量不是很大的时候,不需要一开始就买特别好的主机,以后可以扩容。
##
1.操作系统选择
我用的是ubuntu 20.04。php 7.4 nginx mysql .你为什么选择这个。因为php 7.4比php 7.2快30%。
##
2.命令行
为什么不用宝塔?因为前段时间宝塔上有个大洞。而且关于网站,我感觉其他第三方工具尽量少用。另外,建成的VPS可以尽量干净整洁。外部程序较少。
以下命令行基于ubuntu 20.04。服从命令就好。几乎万无一失。
...-P端口号
上面的星号是IP地址。-p是指定的端口。因为瓦工的默认ssh端口不是22,所以这里要指定。
###
步骤1:安装nginx
sudo apt更新
sudo apt安装nginx
###
第二步:打开防火墙
sudo ufw应用列表
sudo ufw允许' OpenSSH '
sudo ufw允许' Nginx HTTPS '
sudo ufw允许' Nginx HTTP '
sudoufw enable-当这个命令完成时,它将提示ssh连接可能被中断。直接输入y回车。
###
第三步:安装mysql
sudo apt安装mysql-server
Sudo mysql_secure_installation(此步骤是可选的,它是一个安全脚本)。
输入y回车,选择2,最强密码,输入新密码,这是mysql的根密码。
tp://www.vzidc.com/i123/20210401/2086.jpg" alt="wordpress国内网速慢加速及防DDOS攻击快速CF切换的示例">
接着全部选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; root /var/www/your_domain;
indexindex.htmlindex.htmindex.php;location/{ try_files$uri$uri/=404;}location~.php${ includesnippets/fastcgi-php.conf; fastcgi_passunix:/var/run/php/php7.4-fpm.sock; }location~/.ht{ denyall;}
替换配置文件中的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 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模式。可有效阻止中小型攻击。
感谢各位的阅读!关于“wordpress国内网速慢加速及防DDOS攻击快速CF切换的示例”这篇文章就分享到这里了,希望以上内容可以对大家有一定的帮助,让大家可以学到更多知识,如果觉得文章不错,可以把它分享出去让更多的人看到吧!