2012-06-13
这些命令很长,但是希望可以让你很容易按照步骤创建一个全新的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,就是这么简单!
宝宝认知大全宝宝巴士最新版下载v9.87.00.00 安卓版
其它手游 111.9M
下载宝宝情商养成宝宝巴士游戏下载v9.87.00.00 安卓版
其它手游 104.4M
下载海岛奇兵多酷版下载v59.1.1 安卓版
策略塔防 475.0M
下载豌豆荚海岛奇兵手游下载v59.1.1 安卓最新版
策略塔防 475.0M
下载海岛奇兵魅族账号登陆版下载v59.1.1 安卓最新版
策略塔防 475.0M
下载美美小店微信登录版下载v1.8.3420 安卓版
休闲益智 1.48G
下载宝宝巴士百变职业游戏(改名奇妙的职业)下载v9.87.58.00 安卓最新版
其它手游 113.3M
下载奇妙美食总动员官方版下载v9.86.00.00 安卓版
其它手游 164.4M
下载宝宝果汁商店宝宝巴士下载v9.86.00.00 安卓官方版
下载
奇妙的节日手工宝宝巴士下载v9.87.00.00 安卓手机版
下载
2025使命召唤手游官方正版下载v1.9.51 安卓手机版
下载
阳阳魔法学院免费版下载v2.8.2.370 安卓最新版
下载
节奏大师腾讯游戏下载v2.9.13.29145 安卓最新版
下载
宝宝修车店宝宝巴士游戏下载v9.87.00.00 官方安卓版
下载
宝宝营养料理游戏下载v9.86.00.00 安卓版
下载
黎明觉醒生机手游下载v1.115.1 安卓最新版本
下载