常见问题

当前位置: 首页>常见问题

wordpress国内网速慢加速及防DDOS攻击快速CF切换教程

来源:admin 发布时间:2022-05-30 浏览:69

前段时间,有顾客说他中文网站在欧美国家,但亚洲地区中文网站速率关上十分慢,即使亚洲地区欧美国家使用者出访都较为频密,期望对她们的中文网站

亚洲地区出访速率做个提高。她们的流程用的是wordpress。总体而言,wordpress的应用流程模版读取统计数据较为多,即使加装了wprocket此类内存应用流程,做了js,css填充,或是统计资料库强化。只不过对中文网站的速率也并不能有太大提高。

历经许多单纯的预测后,我急于把她们的中文网站搬到cn2 gia公交线路的内部空间商,这或许是最快速的提高中文网站速率的配套措施。下列是我的许多两栖作战撷取,和中文网站碰到反击,怎样快速转换统计数据。

注:这台电脑尽管放到欧美国家,但腾讯蝎子截取再次出现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;
    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我用的是lets encrypt。

sudo apt install certbot python3-certbot-nginx

sudo certbot --nginx -d http://example.com -dwww.example.com

替换http://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模式。可有效阻止中小型反击。

推荐阅读