PDF de programación - VPS y a correr - Drupalcamp Spain 2013 1

Imágen de pdf VPS y a correr -  Drupalcamp Spain 2013  1

VPS y a correr - Drupalcamp Spain 2013 1gráfica de visualizaciones

Publicado el 14 de Enero del 2017
391 visualizaciones desde el 14 de Enero del 2017
558,8 KB
26 paginas
Creado hace 7a (01/01/2013)
VPS y a correr

Rodrigo Aguilera
Drupal camp Spain 2013
#vpsyacorrer

Quien soy

Rodrigo Aguilera
https://drupal.org/user/408170
@marinero
http://rodrigoaguilera.net

rodrigo.aguilera@ymbra.com

¿Por qué?

-Bajada de precios de VPS
-Shared hosting ya no es la opción más barata
-Pros

-Nos permite más flexibilidad (solr, memcache, mongodb, etc)
-podemos escalar sin migrar

-Contras

-No nos dan nada hecho

-En alguna ocasión necesitaremos un sysadmin

Proveedores



Notas previas

No es una sesión de rendimiento
Instalaremos últimas versiones estables
No es un servidor de desarrollo
Puede usarse para una maquina de verdad
Configuraciones sensatas

Nginx

Grupo de Drupal https://groups.drupal.org/nginx
Configuración de perusio
Hay módulos que instalan configuraciones
apache (.htaccess)
Microcache

Crear maquina

Disco: 20GB
Memoria: 512MB
CPUs: 1
Transferencia: 1TB
SO: debian 7.2 x64
Claves ssh añadidas automáticamente

Primeros pasos

-Asociar ip de la maquina con un dominio en
hosts o comprar un dominio
ssh root@dcspain2013.com

Dotdeb.org

Repositorio de paquetes para convertir una
maquina debian en un servidor web potente.
edit /etc/apt/sources.list.d/dotdeb.list

deb http://packages.dotdeb.org wheezy all
deb-src http://packages.dotdeb.org wheezy all

deb http://packages.dotdeb.org wheezy-php55 all
deb-src http://packages.dotdeb.org wheezy-php55 all

wget http://www.dotdeb.org/dotdeb.gpg

apt-key add dotdeb.gpg

Instalar paquetes

apt-get update
apt-get dist-upgrade
apt-get install mosh vim git php-pear php5-curl php5-gd
php5-mcrypt php5-memcached php5-mysqlnd php5-fpm
nginx-extras memcached mysql-server

Drush

pear channel-discover pear.drush.org
pear install drush/drush

La configuración que vamos a usar no permite

update, install o cron desde el navegador por lo que drush
es un requerimiento

Configurar Nginx

mv /etc/nginx /etc/nginx.ORI #apartamos la configuracion Original
#Clonamos la nueva configuracion
git clone https://github.com/perusio/drupal-with-nginx.git /etc/nginx
#Creamos una rama propia para integrar cambios futuros
git checkout -b D7_dcspain2013
#directorios necesarios para nginx
mkdir /var/cache/nginx /etc/nginx/sites-enabled

#En el nuevo /etc/nginx/nginx.conf necesitamos estas dos configuraciones
variables_hash_max_size 1024;
types_hash_max_size 2048;
server_names_hash_bucket_size 64;

Configurar nginx

# en /etc/nginx.conf
#include upstream_phpcgi_tcp.conf;
include upstream_phpcgi_unix.conf;

# en /etc/nginx/upstream_phpcgi_unix.conf dejar solo una línea de server
server unix:/var/run/php5-fpm.sock;
quitando el bloque de backup

Crear vhost

cd /etc/nginx/sites-available/
cp example.com.conf dcspain2013.com
sed -i 's/example.com/dcspain2013.com/g' dcspain2013.com
#quitar HTTPS y referencias a ipv6

ngxensite dcspain2013.com

Instalar Drupal

mkdir -p /var/www/sites
cd /var/www/sites
drush dl drupal
ln -s drupal-7.23 dcspain2013.com
cd dcspain2013
drush si --db-url=mysql://root:password@localhost/test

Configurar cron

nano /etc/cron.daily/drupal

#!/bin/sh
cd /var/www/drupal/sites/default && sudo -u www-data drush cron

chmod +x /etc/cron.daily/drupal

Módulos a instalar

drush dl filefield_nginx_progress
entitycache memcache_storage
memcache_status swiftmailer

drush -y en idem

memcache_storage

# En settings.php
$conf['cache_backends'][] = 'sites/all/modules/memcache_storage/memcache_storage.inc';
$conf['cache_default_class'] = 'MemcacheStorage';
$conf['cache_class_cache_form'] = 'DrupalDatabaseCache';
$conf['memcache_storage_key_prefix'] = 'misitio';
$conf['memcache_options'] = array(
Memcached::OPT_TCP_NODELAY => TRUE,
Memcached::OPT_BUFFER_WRITES => TRUE,
Memcached::OPT_NO_BLOCK => TRUE
);

memcache_status

mkdir -p sites/all/libraries/memcache
cd sites/all/libraries
wget http://pecl.php.net/get/memcache-3.0.8.tgz
mv memcache-3.0.8/memcache.php memcache/memcache.php.inc
#sustituir myserver por localhost
nano memcache/memcache.php.inc

Reparto de memoria

PHP y Zend Opache 256 y 128 MB
respectivamente
/etc/php/fpm/php.ini
memcache (64MB)
/etc/memcached.conf
mysql (32MB de query cache size)
/etc/mysql/my.cnf

Optimizar base de datos

https://launchpad.net/mysql-tuning-primer/+download
# fichero /etc/mysql/my.cnf
key_buffer = 16M
max_allowed_packet = 16M
thread_stack = 192K
thread_cache_size = 8
max_connections = 100
table_cache = 4096
table_definition_cache = 1200
query_cache_limit = 4M
query_cache_size = 32M

Configurar mail

Configurar todo un stack de mail es complicado
Conectaremos a un smtp externo
Válido para bajo tráfico de emails
Módulo swiftmailer

Añadir swap

#2Gb de swap
dd if=/dev/zero of=/swapfile1 bs=4096 count=524288
mkswap /swapfile1
chmod 0600 /swapfile1
swapon /swapfile1

#nueva linea en /etc/fstab
/swapfile1 swap swap defaults 0 0

# comprobar que ha surtido efecto
free -m

Claves

Dotdeb
Configuración nginx de perusio
Reparto de memoria



Gracias

Preguntas



To be continued on IRC…
  • Links de descarga
http://lwp-l.com/pdf1545

Comentarios de: VPS y a correr - Drupalcamp Spain 2013 1 (0)


No hay comentarios
 

Comentar...

Nombre
Correo (no se visualiza en la web)
Valoración
Comentarios
Es necesario revisar y aceptar las políticas de privacidad