最近,有客户说他网站在国外,但国内网站速度打开非常慢,因为国内国外用户访问都比较频繁,希望对他们的网站www.pjcourse.com国内访问速度做个提升。他们的程序用的是wordpress。总的来说,wordpress的插件模板加载数据比较多,就算安装了wprocket这类缓存插件,做了js,css压缩,或者数据库优化。其实对网站的速度也并不会有太大提升。
经过一些简单的分析之后,我打算把他们的网站搬到cn2gia线路的空间商,这也许是最快速的提升网站速度的办法。以下就是我的一些实战分享,以及网站遇到攻击,如何快速切换数据。
注:这台机器虽然放在国外,但百度蜘蛛抓取出现403等错误的概率几乎就没有了。
一、现网站的情况分析
网站在搬迁之前,空间放置在digitalocean,cdn走的是cloudflare。虽然digitalocean在国外是非常不错的空间商,但对国内用户来说,访问走了cloudflare,所以速度依然非常慢。
另外,分线路dns做解析,虽然也是可以,但操作会比较麻烦。所以本文不讨论。
通过无痕浏览器chrome,可以看出速度在6.35秒才全部打开。前期渲染用了4.46秒。
另外,通过站长之家测速也可以看出。电信线路稍微快一些。但联通和移动的速度明显都超过了4秒以上。
##
二、网站搬迁
关于空间商的选择,其实只要选对稳定的空间,好的线路。基本上都是可以的。我现在选的是搬瓦工的cn2giaecommerce。cn2gia最大的优势就是国内三网访问都非常快。而这个空间商也是速度最稳定的。我现在一季度49.99美元,其实相当于一个月16美元。
SSD:20GBRAID-10
RAM:1GB
CPU:2xIntelXeon
Transfer:1000GB/mo
这个可以根据每个人的情况不同,选择不同的主机。但推荐大家在一开始流量不是非常大的情况下,不用买特别好的主机,后续可以再扩容。
##
1、操作系统选择
我用的是ubuntu20.04。php7.4+nginx+mysql。为什么选这个呢。因为php7.4的速度比php7.2的快30%。
##
2、命令行
为什么不用宝塔?因为前段时间宝塔刚出了一个大漏洞。而且网站这一块,本人感觉还是尽量少用别的第三方工具。另外,搭建的VPS也可以尽量的干净整洁。少一些外部程序。
以下命令行,建立在ubuntu20.04的基础上。只要按着命令。基本都不会错。
sshroot@...-p端口号
上面星号是IP地址。-p是指定端口。因为搬瓦工的默认ssh端口不是22,所以这里要指定。
###
第一步:安装nginx
sudoaptupdate
sudoaptinstallnginx
###
第二步:开启防火墙
sudoufwapplist
sudoufwallow‘OpenSSH’
sudoufwallow‘NginxHTTPS’
sudoufwallow‘NginxHTTP’
sudoufwenable—这条命令打完的时候,会提示可能会中断ssh连接。直接输入y回车。
###
第三步:安装mysql
sudoaptinstallmysql-server
sudomysql_secure_installation(此步骤可选,这是一个安全脚本)。
输入y回车,选择2,最强密码,输入新密码,这个密码是mysql的root密码。
接着全部选y。一个是移除匿名用户,一个是禁止数据库root远程登录,最后是移除测试数据库。
最后选y。脚本立即生效。
###
第四步:安装php模块
sudoaptinstallphp-imagickphp7.4-fpmphp7.4-mbstringphp7.4-bcmathphp7.4-xmlphp7.4-mysqlphp7.4-commonphp7.4-gdphp7.4-jsonphp7.4-cliphp7.4-curlphp7.4-zip
此处就是一条命令,整个代码复制就可以。这个基本上包含了wordpress能用上的所有模块。
sudosystemctlreloadphp7.4-fpmnginx(重启并加载配置)
###
第五步:把网站数据搬过来
因为我的网站是wordpress,可能你们的网站是别的程序写的,所以内容不一样。这里就不写了。另外,记得做/etc/nginx/sites-enable/目录下面的nginx.conf
server{
listen80;
server_nameyour_domainwww.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;}