Upload
-
View
153
Download
0
Embed Size (px)
Citation preview
Wordpress
Oursite.com
> git commit, > git push
> git submodule add wordpress
wp-content
config.php
index.php
Установка Galera на Node1.sql sudo apt-get update
sudo apt-get install python-software-properties
sudo apt-key adv --recv-keys --keyserver hkp://keyserver.ubuntu.com:80 0xcbcb082a1bb943db
sudo add-apt-repository 'deb http://mirror.jmu.edu/pub/mariadb/repo/5.5/ubuntu precise main‘
sudo apt-get update sudo apt-get install mariadb-galera-server galera
sudo apt-get install rsync
sudo nano /etc/mysql/conf.d/cluster.cnf
# Galera Cluster Configuration
wsrep_cluster_name=“wp_cluster" wsrep_cluster_address="gcomm://first_ip,second_ip,third_ip“
# Galera Node Configuration
wsrep_node_address=“first_ip"
wsrep_node_name=“Node1.sql"
Maintenance Configuration
sudo nano /etc/mysql/debian.cnf
[client]
host = localhost
user = debian-sys-maint
password = 03P8rdlknkXr1upf
socket = /var/run/mysqld/mysqld.sock
[mysql_upgrade]
host = localhost
user = debian-sys-maint
password = 03P8rdlknkXr1upf
socket = /var/run/mysqld/mysqld.sock
basedir = /usr
Запуск Galera Cluster
sudo service mysql stop
sudo service mysql start --wsrep-new-cluster # первая нода
sudo service mysql start #все остальные
Node1.glusterFs Node2.glusterFs Node3.glusterFs
Client
mount -t glusterfs node0.glusterfs:/volume1 /data
gluster volume create volume1 replica 3 transport tcp node1.glusterfs:/data/cluster
node2.glusterfs:/data/cluster node3.glusterfs:/data/cluster
Установка glusterFS sudo apt-get update
sudo apt-get install python-software-properties
sudo add-apt-repository ppa:semiosis/ubuntu-glusterfs-3.4
sudo apt-get update
sudo apt-get install glusterfs-server
sudo gluster peer probe Node1.glusterFs
sudo gluster volume create volume1 replica 2 transport tcp gluster0.droplet.com:/gluster-storage gluster1.droplet.com:/gluster-storage force
sudo gluster volume start volume1
Dockerfile # Pull base image.
FROM dockerfile/ubuntu
# Install Nginx.
RUN \
add-apt-repository -y ppa:nginx/stable && \
apt-get update && \
apt-get install -y nginx && \
rm -rf /var/lib/apt/lists/* && \
echo "\ndaemon off;" >> /etc/nginx/nginx.conf && \
chown -R www-data:www-data /var/lib/nginx
# Define mountable directories.
VOLUME ["/etc/nginx/sites-enabled", "/etc/nginx/certs", "/etc/nginx/conf.d", "/var/log/nginx", "/var/www/html"]
# Define working directory.
WORKDIR /etc/nginx
# Define default command.
CMD ["nginx"]
# Expose ports.
EXPOSE 80
EXPOSE 443
Доступ к исходному коду
Доступ к данным
Доступ к базе
Web server {1..n}
Балансировка
Масштабирование
Container Volume
Host file system /Folder
# Dockerfile
FROM busybox
VOLUME /var/lib/mysql
CMD /bin/sh
GIT GlusterFS MySql Galera Cluster
/sourcecode /wp-content
source vol content vol
:80
nginx nginx nginx
GIT GlusterFS MySql Galera Cluster
/sourcecode /wp-content
source vol content vol
:80
nginx nginx nginx
HAProxy
GIT GlusterFS MySql Galera Cluster
/sourcecode /wp-content
source vol content vol
:80
nginx nginx nginx
HAProxy cerf
cerf cerf cerf
src
cont
HAProxy
nginx
nginx
nginx
nginx cerf
sess
memcached
nginx
nginx
GIT
GlusterFS
MySql Galera
Cluster
cerf
cerf
cerf
cerf
cerf
cerf cerf