Upload
liz-quilty
View
126
Download
1
Embed Size (px)
DESCRIPTION
WordPress conf slides
Citation preview
Scaling & High End Hosting for WordPress
By Liz Quilty
There is no single solution
Work out what You Want and Need!
Lots of articles exist already, read them!
Plug-ins • WP-Sentinel • WordPress Sentinel (they are different!)
Permissions Version Control - CVS, SVN, Git Backups!
Security
Set Apache to ignore .svn .git .cvs, etc Ignore files
• wp-config.php • wp-content/uploads/ • wp-local-config.php
capistrano for deploy
Develop/test on local or Dev machine
Version Control System
• NGINX + phpFCGI ? • Varnish + apache + mod_php • PHP-APC • WP-Supercache/W3-total-cache • Batcache / Memcached • Enable the WordPress Object Cache
define(ENABLE_CACHE, true);
Watch for PHP-CGI/FCGI memory usage!
Scaling Single server
Videos - Youtube,Vimo Files - CDN, Flickr, DropBox, S3 Comments - IntenseDebate, Discus
These help save disk & IO, resources
Take Media Offsite
Cost Space Redundancy Control - or lack of it Openstack Cloudmin
Control Panels? What Control Panels!
The Cloud?
Same as Single .. plus more
DNS Round Robin ? Heartbeat IP Failover ? Separate DB server w/ Replication ? File replication ? Controlling multiple servers ?
Multiple Layouts - Planning is key!
Scaling Multiple
Database: • Mysql Master/Master replication • Mysql Master/Slave • Separate DB server(s) • HyperDB Plugin
DB Replication
• Unisen • rsync • bitpocket • DRBD • Rsync • Gluster
Replication of Files
CFEngine Puppet ClusterSSH
#!/bin/bash
HOSTS="machine1 machine2 machine3 machine4";
if [ $1 ];then
for i in $HOSTS; do ssh $i "$@"; done
fi
Controlling servers
10 Plan
20 Test
30 Adapt
40 Goto 20
Implement
Don't wait until you have a problem to test it!
Monitoring - NewRelic, Nagios, etc Failover Plans, like Heartbeat, DNS, etc
Have a Plan, test it
Backup! Backup! Backup! Multiple Sites for redundancy Documentation in case developer/admin
disappears
Things to remember
Questions?
Questions?
http://www.freesoftwaremagazine.com/articles/easy_file_sync_bitpocket