发布时间:2012-06-13 13:09:40作者:知识屋
这些命令很长,但是希望可以让你很容易按照步骤创建一个全新的Linux服务器,使用Varnish, Nginx, W3 Total Cache, and WordPress来搭建一个WordPress博客并运行在亚马逊微型服务器(或其它类似服务),所有这些只需要花费每月$15,能维持每天10万的点击率,通过blitz.io测试。
教你创建可以维持每天10万点击率的WordPress博客服务器,每月只需$15
在一个新的虚拟专用服务器上安装Ubuntu 11.10 (Oneiric),11.10版本能够提供我们需要的所有软件包,用其他Linux发行版也是一样可以的。
我用亚马逊EC2来搭建测试服务器,不过Linode也很不错。下面是我的服务器详细信息,你的可能会有所不同:
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 allow ssh ufw allow http ufw logging off ufw enable
执行完毕后,你的服务器就有了一个相对较安全的防火墙,你还可以使用fail2ban来防止暴力密码攻击。
安装和配置MySQL
apt-get update apt-get install mysql-server
完成后,设置mysql的root用户密码
mysql -u root –p
安装和配置PHP
我们不仅需要安装PHP,还要安装PHP FPM系统、APC和MySQL模块
替换
listen = 127.0.0.1:9000
user = www-data
group = www-data
安装和配置Nginx
根据Nginx website上的方法
下载nginx安全密钥来验证包
cd /tmp/ wget http://nginx.org/keys/nginx_signing.key apt-key add /tmp/nginx_signing.key
首先,编辑/etc/nginx/nginx.conf
在http节点内插入下面一行
内容为drop file from GitHub里的
再替换/etc/nginx/conf.d/default.conf的内容为github default.conf file的内容,把所有domainname.com改为你自己的域名(有3处,包括一个在文件底部附近)
创建目录/var/www/,并设置它的所有者
很简单,只需要执行:
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
编辑/var/www/wp-config.php
把AUTH_KEY和NONCE_SALT之间的内容替换成你刚从api.wordpress.org复制的内容
然后,替换默认值为你前面设置的(不是root用户):
define(‘DB_NAME’, ‘database_name_here’); define(‘DB_USER’, ‘username_here’); define(‘DB_PASSWORD’, ‘password_here’);
回答安装过程中的问题,设置一个靠谱的用户名和密码(强烈推荐把管理员的用户名从admin改为其它的)
在设置页面选择永久链接,并选择“Custom Structure”,粘贴下面的值(包括%符号)
/%post_id%/%postname%
输入标题和内容,点击“Post”,并注意它的网址是友好的。
运行ablitz.io测试来看看我们的成果
100用户,60秒。超时,低点击率,错误等。CPU性能似乎是现在的瓶颈。
这次测试在1分钟内有632次成功点击并从你的应用那里传输了1.76M的数据。平均每秒9.81次点击大约折合每天847,776次点击。
很大的问题是:34.91%的用户在这次测试中遇到了超时或错误。
所以,服务器虽然成功运行了,但访问速度还是太慢了!
下面,我们来启用WordPress的缓存系统
打开WordPress的管理页面-插件-安装新插件。搜索“W3 Total Cache”,安装并激活这个插件。
在页面左边大的菜单里打开新的“Performance”选项,在每个有“PHP APC”的缓存选项中激活下面2个选项:
Database Cache
Object Cache
再回到ablitz.io测试,表现应该会好很多
这次测试在1分钟内有2902次成功点击并从你的应用那里传输了27.59M的数据。平均每秒46次点击大约折合每天4,006,008次点击。
如果我们把blitz.io中测试的用户数从100上升到250,问题又来了:
这次测试在1分钟内有4733次成功点击并从你的应用那里传输了36.20M的数据。平均每秒72次点击大约折合每天6,297,653次点击。
这次的问题是:5.49%的用户在这次测试中遇到了超时或错误!
你可以在Nginx And APC configuration in this PDF查看Blitz结果
还是不太理想?可以安装varnish 3了!
apt-get install varnish
编辑/etc/default/varnish
把下面的内容
DAEMON_OPTS="-a :6081 -T localhost:6082 -f /etc/varnish/default.vcl -S /etc/varnish/secret -s malloc,256m"
编辑/etc/nginx/conf.d/default.conf
并替换
listen 80;
基本上没有CPU使用率,性能大大改善。
这次测试在1分钟内有2959次成功点击并从你的应用那里传输了28.36M的数据。平均每秒47次点击大约折合每天4,093,000次点击。
再次使用250用户运行blitz.io测试
这次测试在1分钟内有7342次成功点击并从你的应用那里传输了70.38M的数据。平均每秒117次点击大约折合每天10,134,627次点击。
你可以在full final run blitz performance details in this PDF查看具体细节。
这就是使用每月少于$20的服务器创建每天可以维持10万点击率的WordPress博客的过程,全归功于varnish和nginx,就是这么简单!
2014-11-19
怎么找回退出的QQ群的群号?
Winpcap是什么 Winpcap有什么用?
jsp文件怎么打开?
百度权重之我见~ 百度权重的等级划分
DEDE关于列表页分页和内容页分页与CSS不对应,错位的问题-DedeCM
怎样去掉dedecms【织梦】后台的安全提示?
帝国CMS 后台在线编辑CSS扩展修改教程!(建议收藏)
修改Dede友情链接dede:flink
nginx做下载服务器配置一例