·设为首页收藏本站📧邮箱修改🎁免费下载专区💎积分✅卡密📒收藏夹👽聊天室
返回列表 发布新帖

一个老外写的wp博客性能优化,大家看看是否可以,最近打算做一个wp的站。

164 3
发表于 2022-4-4 17:11:17 | 查看全部 阅读模式

马上注册,免费下载更多dz插件网资源。

您需要 登录 才可以下载或查看,没有账号?立即注册

×
使用 15 美元的服务器使用 WordPress 每天点击 1000 万次
[更新 2] – 似乎 W3 Total Cache 支持已经悄无声息地停止了 – 现在已经超过 12 个月没有更新了,并且据称存在一些安全问题。因此,我建议不要在这些说明中安装 W3 Total Cache,其他一切都应该运行良好。[/更新]

[更新] – 我已经使用新的 Ubuntu 12.04 LTS 版本对此进行了测试,所有设置似乎都可以正常工作而无需修改。如果您发现问题,请告诉我 [/Update]

[2013 年 9 月更新] – 我最近将自己的博客托管从Digital Ocean转移到每月 10 美元的 VPS (该链接通过附属链接为您提供 10 美元的折扣)并且对它们非常满意,包括性能博客。

这些说明相当冗长,但希望很容易遵循,使用 Varnish、Nginx、W3 Total Cache 和 WordPress 构建新 Linux 服务器的步骤,在 Amazon Micro 服务器(或同等服务器)上构建 WordPress 博客,所有成本根据blitz.io衡量,每月不到 15美元,每天能够维持 1000 万次点击。

在 15 美元的虚拟服务器上使用 WordPress 每天点击 1000 万次

在新的虚拟专用服务器上安装 Ubuntu 11.10 (Oneiric) - 我要列出的所有软件包都必须是 11.10 才能开箱即用,但其他发行版都可以。

我使用 Amazon EC2 构建我的测试服务器,但 Linode 也非常好。截至 2013 年 9 月,此博客现在托管在Digital Ocean 上

出于文档的目的,我的服务器详细信息如下,您的将有所不同:

公共 DNS 名称:ec2-23-20-235-223.compute-1.amazonaws.com
公共 IP 地址:23.20.235.223

登录服务器并成为root

通过 ssh 以 ubuntu 身份登录,然后运行 ​​sudo -i 命令成为 root

ssh ubuntu@ec2-23-20-235-223.compute-1.amazonaws.com
sudo -i

先配置防火墙

由于我们将安装默认侦听所有接口的各种网络服务,因此配置防火墙很重要。

对于 Ubuntu,这很简单,只需使用 ufw 包。

执行以下命令进行配置:

ufw 允许 ssh
ufw 允许 http
ufw 注销
ufw 启用

完成此操作后,您的服务器将拥有一个相对安全的防火墙,尽管值得查看 fail2ban 以防止暴力密码攻击。

如果您使用的是 Amazon EC2,您还需要打开安全组以允许端口 80 上的流量。您可以使用AWS 安全组控制台执行此操作,您可能需要更改区域。选择启动实例时使用的安全组,然后点击“Inbound”,然后从下拉菜单中选择“HTTP”,最后点击“Add Rule”。您无需重新启动实例即可使其生效。

安装和配置 MySQL

apt-get 更新
apt-get 安装 mysql-server

出现提示时,设置 mysql “root”用户密码

mysql -u 根目录 -p

出现提示时,输入新设置的 root 密码

在 mysql> 提示符下,运行以下 4 个命令,将 ENTER_A_PASSWORD 替换为您自己的密码

创建数据库 wordpress;
授予 wordpress 上的所有权限。* 到“wp_user”@“localhost”由“ENTER_A_PASSWORD”识别;
同花顺特权;
出口

即安装了 MySQL,为 PHP 和 Web 服务器安装 (nginx) 做好了准备。

安装和配置 PHP

我们不仅需要安装 PHP,还需要安装 PHP FPM 系统、APC 和 MySQL 模块

apt-get install php5-fpm php-pear php5-common php5-mysql php-apc php5-gd

编辑 /etc/php5/fpm/php.ini 并在底部添加这些行:

[apc]
apc.write_lock = 1
apc.slam_defense = 0

编辑 /etc/php5/fpm/pool.d/www.conf

代替

听 = 127.0.0.1:9000


听 = /dev/shm/php-fpm-www.sock

在此之下,插入这 3 行

listen.owner = nginx
listen.group = nginx
listen.mode = 0660

然后,在同一个文件中再往下,替换这两行

用户 = www 数据
组 = www 数据


用户 = nginx
组 = nginx

保存文件,PHP FPM现在已经完成了,但是在我们安装好nginx之前它不会工作,所以现在不用担心启动它。

安装和配置 Nginx

基于Nginx 网站的说明。

下载nginx安全密钥验证包

cd /tmp/
wget http://nginx.org/keys/nginx_signing.key
apt-key add /tmp/nginx_signing.key

通过运行这 2 个命令将源添加到 APT 源文件(>> 很重要!)

echo “deb http://nginx.org/packages/ubuntu/ lucid nginx” >> /etc/apt/sources.list
echo “deb-src http://nginx.org/packages/ubuntu/ lucid nginx” >> /etc/apt/sources.list

通过运行下载并安装 nginx

apt-get 更新
apt-get 安装 nginx

完成后,将安装 nginx,但需要为 WordPress 进行配置。

nginx配置文件在/etc/nginx

首先,编辑 /etc/nginx/nginx.conf

在 http 部分中,插入以下行,以便以后在前面添加 varnish 时,事情不会到处乱七八糟,因此 varnish 会缓存压缩文件:

port_in_redirect 关闭;
gzip打开;
gzip_types 文本/css 文本/xml 文本/javascript 应用程序/x-javascript;
gzip_vary on;

接下来,cd 到 /etc/nginx/conf.d 并创建一个新文件 /etc/nginx/conf.d/drop ,其中包含来自 GitHub的 drop 文件的内容

然后,将 /etc/nginx/conf.d/default.conf 替换为github default.conf 文件的内容,将domainname.com 的所有条目更改为您自己的域名(有 3 个条目,包括底部附近的 1 个)

创建一个目录 /var/www/ 并设置所有权:

mkdir -p/var/www/
chown nginx:nginx/var/www/
chmod 775/var/www

这是配置好的 nginx,通过运行重新启动它和 PHP FPM 服务:

服务 nginx 重启
服务 php5-fpm 重启

现在,您实际上已准备好安装 WordPress!

这很简单,运行:

cd /tmp
wget http://wordpress.org/latest.tar.gz
tar zxvf latest.tar.gz
cd wordpress
mv * /var/www/
chown -R nginx:nginx /var/www

要配置 WordPress,请运行:

cp /var/www/wp-config-sample.php /var/www/wp-config.php
chown nginx:nginx /var/www/wp-config.php

在网络浏览器中,访问https://api.wordpress.org/secret-key/1.1/salt/并复制结果

编辑 /var/www/wp-config.php

并向下滚动以将 AUTH_KEY 行向下滚动到 NONCE_SALT,并将它们替换为您从 api.wordpress.org 站点复制的值

然后,将默认值替换为您之前选择的 MySQL 值(不是 root 用户):

定义('DB_NAME','database_name_here');
定义('DB_USER','username_here');
定义('DB_PASSWORD','password_here');

完成后,如果您没有任何错误并且您的域名指向正确的 IP(这很重要!),那么您将能够访问您的域并在 http:/ 上查看 WordPress 配置页面/www.domainname.com/wp-admin/install.php

通过安装问题,选择一个合理的用户名和密码(强烈建议您将管理员用户从“admin”更改为其他用户名。

转到设置,然后选择永久链接,然后选择“自定义结构”,然后粘贴下面的值(包括 % 符号)

/%post_id%/%postname%

然后点击“保存更改”

是时候创建一个测试帖子了,所以点击“帖子”然后“添加新”

输入标题和正文,然后点击“发布”,并记下它的友好 URL。

运行 blitz.io 测试,看看我们的表现如何

100 个用户,60 秒。超时、低命中率、错误等 CPU 耗尽,似乎是最初的瓶颈。

这一高峰在 1.0 分钟内产生了 632 次成功点击,我们将 1.76 MB 的数据传入和传出您的应用程序。9.81 次/秒的平均命中率相当于每天 847,776 次点击。

但是你遇到了更大的问题:34.91% 的用户在这个高峰期间遇到了超时或错误!

所以服务器在运行,但是还是太慢了!

接下来,我们将启用 WordPress 缓存系统

转到 wordpress 管理页面,然后是插件,然后单击安装新插件。

更新 如果您将此作为教程,请跳过 W3 Total Cache 插件,它已经很久没有更新了。我将来会用W3 Super Cache指令更新这篇文章,但其他一切都应该像现在一样工作
搜索“W3 Total Cache”,然后在搜索结果返回时单击“立即安装”。安装完成后,点击“激活插件”。

转到页面左侧菜单中的新“性能”部分。

滚动浏览缓存选项,在每个机会处选择“PHP APC”并启用以下两个部分:

数据库缓存
对象缓存

点击“保存所有设置”,然后点击“部署”

再次运行blitz.io测试,性能应该会提高很多

这种热潮在 1.0 分钟内产生了 2,902 次成功点击,我们将 27.59 MB 的数据传入和传出您的应用程序。平均 46 次/秒的命中率转换为大约 4,006,008 次/天。

如果我们将 blitz.io 从 100 个用户运行到 250 个用户,我们仍然需要解决一些问题:

这一热潮在 1.0 分钟内产生了 4,733 次成功点击,我们将 36.20 MB 的数据传入和传出您的应用程序。72 次/秒的平均命中率相当于每天 6,297,653 次点击。

但是你遇到了更大的问题:5.49% 的用户在这个高峰期间遇到了超时或错误!

您可以在此 PDF 中查看 Nginx 和 APC 配置的 Blitz 结果。

所以仍然不完美——是时候安装 varnish 3 了!

apt-get 安装清漆

编辑 /etc/varnish/default.vcl将内容替换为来自 github 的文件 default.vcl 文件。

编辑 /etc/default/varnish

更改部分

DAEMON_OPTS=”-​​a :6081 \
-T localhost:6082 \
-f /etc/varnish/default.vcl \
-S /etc/varnish/secret \
-s malloc,256m”


DAEMON_OPTS=”-​​a :80 \
-T localhost:6082 \
-f /etc/varnish/default.vcl \
-S /etc/varnish/secret \
-s malloc,64m”

接下来,我们需要编辑 nginx 配置以侦听端口 8080,而不是端口 80——Varnish 将在端口 80 上运行。

编辑 /etc/nginx/conf.d/default.conf 并替换

听 80;


听8080;

保存文件,然后运行

服务 nginx 重启
服务清漆重启

重新运行 100 个用户的 blitz.io 测试

几乎没有 CPU 使用率,应该会得到完美的结果

这种热潮在 1.0 分钟内产生了 2,959 次成功点击,我们将 28.36 MB 的数据传入和传出您的应用程序。平均 47 次/秒的命中率转换为大约 4,093,000 次/天。

重新运行 250 名用户的闪电战

这种热潮在 1.0 分钟内产生了 7,342 次成功点击,我们将 70.38 MB 的数据传入和传出您的应用程序。117 次/秒的平均命中率转换为大约 10,134,627 次/天。

您可以在此 PDF 中查看完整的最终运行闪电战性能详细信息。

就是这样,在一个每月花费不到 20 美元的盒子上使用 WordPress 每天有 1000 万次点击,这一切都归功于 varnish 和 nginx,很简单!

我要说一句 收起回复
创宇盾启航版免费网站防御网站加速服务

评论3

浅生Lv.8 发表于 2022-4-4 17:11:22 | 查看全部
你的内容怕是有点多,但每天1000w次的请求不是小鸡子可以实现的,即使你生成html页面也扛不住,nginx并发是强但实现上述的怕是有点夸张
我要说一句 收起回复
IT618发布Lv.8 发表于 2022-4-4 17:11:42 | 查看全部
15美元月付的机器可以实现一天1000w请求,但特么的php5.x怕是在开玩笑吧
我要说一句 收起回复
浅生Lv.8 发表于 2022-4-4 17:12:17 | 查看全部
这个有用,收藏了
我要说一句 收起回复

回复

 懒得打字嘛,点击右侧快捷回复【查看最新发布】   【应用商城享更多资源】
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

图文热点
创宇盾启航版免费网站防御网站加速服务
投诉/建议联系

discuzaddons@vip.qq.com

未经授权禁止转载,复制和建立镜像,
如有违反,按照公告处理!!!
  • 联系QQ客服
  • 添加微信客服

联系DZ插件网微信客服|最近更新|Archiver|手机版|小黑屋|DZ插件网! ( 鄂ICP备20010621号-1 )|网站地图 知道创宇云防御

您的IP:3.143.218.180,GMT+8, 2024-11-22 07:58 , Processed in 0.310990 second(s), 96 queries , Gzip On, Redis On.

Powered by Discuz! X5.0 Licensed

© 2001-2024 Discuz! Team.

关灯 在本版发帖
扫一扫添加微信客服
QQ客服返回顶部
快速回复 返回顶部 返回列表