这些呼吁很长,可是但愿可以让你很容易凭据步调建设一个全新的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.comIP:23.20.235.223
利用root登录随处事器
通过ssh毗连并登岸到ubuntu,然后执行sudo -i呼吁切换到root
ssh ubuntu@ec2-23-20-235-223.compute-1.amazonaws.comsudo –i
设置防火墙
因为我们要安装各类差异的默认监听所有接口的网络处事,设置一个防火墙是很重要的。
在Ubuntu下,这是很简朴的事,只要利用ufw就可以了。执行下面的呼吁来设置:
ufw allow sshufw allow http
ufw logging off
ufw enable
执行完毕后,你的处事器就有了一个相对较安详的防火墙,你还可以利用fail2ban来防备暴力暗码进攻。
安装和设置MySQL
apt-get updateapt-get install mysql-server
完成后,配置mysql的root用户暗码
mysql -u root –p然后,在mysql>提示符下输入新配置的root暗码,执行下面4条呼吁,把ENTER_A_PASSWORD替换成你本身的暗码
CREATE DATABASE wordpress;
GRANT ALL PRIVILEGES ON wordpress.* TO "wp_user"@"localhost" IDENTIFIED BY "ENTER_A_PASSWORD";
FLUSH PRIVILEGES;
EXIT
此刻MySQL的安装完成,可以继承安装PHP和Web处事器了。
安装和设置PHP
我们不只需要安装PHP,还要安装PHP FPM系统、APC和MySQL模块
apt-get install php5-fpm php-pear php5-common php5-mysql php-apc
编辑/etc/php5/fpm/php.ini并在最后添加这些内容:
[apc]
apc.write_lock = 1
apc.slam_defense = 0
编辑/etc/php5/fpm/pool.d/www.conf
替换
listen = 127.0.0.1:9000为
listen = /dev/shm/php-fpm-
再在下面插入这3行
listen.owner = nginx
listen.group = nginx
listen.mode = 0660
然后,在这个文件再下面一点,替换这2行
user = www-data
group = www-data
为
user = nginx
group = nginx
生存文件,PHP FPM此刻设置好了,可是得安装nginx之后它才气运行。
安装和设置Nginx
按照Nginx website上的要领
下载nginx安详密钥来验证包
cd /tmp/wget
apt-key add /tmp/nginx_signing.key
执行下面的呼吁添加软件源(要利用>>):
echo "deb lucid nginx" >> /etc/apt/sources.list
echo "deb-src lucid nginx" >> /etc/apt/sources.list
下载和安装nginx
apt-get update
apt-get install nginx
完成后,我们设置它来适应WordPress:
首先,编辑/etc/nginx/nginx.conf
在http节点内插入下面一行
port_in_redirect off;
然后,切换到/etc/nginx/conf.d目次并建设文件/etc/nginx/conf.d/drop
内容为drop file from GitHub里的
再替换/etc/nginx/conf.d/default.conf的内容为github default.conf file的内容,把所有domainname.com改为你本身的域名(有3处,包罗一个在文件底部四周)
建设目次/var/www/,并配置它的所有者
mkdir -p /var/www/
chown nginx:nginx /var/www/
chmod 775 /var/www 此刻nginx就设置好了,执行下面呼吁重启nginx和PHP FPM处事:
service nginx restart
service php5-fpm restart
此刻,你可以安装WordPress了!
很简朴,只需要执行:
cd /tmpwget
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复制的内容
然后,替换默认值为你前面配置的(不是root用户):
define(‘DB_NAME’, ‘database_name_here’);define(‘DB_USER’, ‘username_here’);
define(‘DB_PASSWORD’, ‘password_here’);
做完了这些,假如你没有收到任何错误而且你的域名指向了正确的IP地点(这是很重要的),你就可以打开 举办WordPress的设置了。
答复安装进程中的问题,配置一个靠谱的用户名和暗码(强烈推荐把打点员的用户名从admin改为其它的)
在配置页面选择永久链接,并选择“Custom Structure”,粘贴下面的值(包罗%标记)
/%post_id%/%postname%
然后猛击“Save Changes”,此刻可以颁发博文了,点击”Posts”然后“Add New”
输入标题和内容,点击“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 CacheObject Cache
点击“Save All Settings”,然后点击“Deploy”
再回到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/varnish/default.vcl 用里default.vcl file from github的内容替换它的内容
编辑/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"
文件让它监听8080而不是80端口,Varnish替代了它来监听80端口。
编辑/etc/nginx/conf.d/default.conf
并替换
listen 80;为
listen 8080;
生存文件,再执行:
<STRONG>service nginx restart
service varnish restart</STRONG>
再次利用100用户运行blitz.io测试
根基上没有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,就是这么简朴!
Wordpress下载:
WordPress v3.5 RC2下载