@@ -9,7 +9,7 @@ Los temas a tratar en este tutorial son:
991 . Instalar el sistema base.
10102 . Instalar Nginx y Passenger.
11113 . Deployar una aplicación Rails.
12- 4 . Ab test y optimización.
12+ 4 . Benchmarking tool y optimización.
13135 . Borrar el sistema base.
1414
1515## Instalar el sistema base
@@ -49,32 +49,28 @@ apt-get install -y nginx-extras passenger
4949
5050Vamos a clonar una app rails de ejemplo desde el repo de phusion.
5151
52-
5352``` bash
5453cd /var/www
5554git clone https://github.com/phusion/passenger-ruby-rails-demo.git
5655cd passenger-ruby-rails-demo
5756bundle install --deployment --without development test
58-
5957```
6058
6159Ahora tenemos que crear la secret key:
6260
63-
6461``` bash
65-
6662bundle exec rake secret
67- ````
63+ ```
6864
6965Editar config/secrets.yml y poner la clave generada:
7066
7167```
7268production:
7369 secret_key_base: the value that you copied from 'rake secret'
74-
7570```
7671
7772Ademas tenemos que poner los permisos correctos en algunos archivos de configuracion:
73+
7874```
7975chmod 700 config db
8076chmod 600 config/database.yml config/secrets.yml
@@ -92,17 +88,19 @@ chown www-data:www-data passenger-ruby-rails-demo -R
9288```
9389
9490Necesitamos habilitar passenger en el archivo de configuracion de nginx, editamos
95- /etc/nginx.conf y descomentamos las siguientes lineas:
91+ /etc/nginx/nginx.conf y hacemos lo siguiente:
92+
93+ agregamos esto en la primer linea, para que nginx pueda encontrar nodejs sin problemas:
9694
9795```
98- ## passenger_root /usr/lib/ruby/vendor_ruby/phusion_passenger/locations.ini;
99- ## passenger_ruby /usr/bin/passenger_free_ruby;
96+ env PATH ;
10097```
10198
102- ademas agregamos esto en la primer linea, para que nginx pueda encontrar nodejs sin problemas :
99+ luego descomentamos las dos siguientes líneas :
103100
104101```
105- env PATH ;
102+ # passenger_root /usr/lib/ruby/vendor_ruby/phusion_passenger/locations.ini;
103+ # passenger_ruby /usr/bin/passenger_free_ruby;
106104```
107105
108106Ahora vamos a agregar la configuracion necesaria para que nginx levante la app,
@@ -124,5 +122,46 @@ Ademas necesitamos crear un symlink para habilitar el nuevo virtual host:
124122ln -s /etc/nginx/sites-available/passenger-ruby-rails-demo /etc/nginx/sites-enabled/passenger-ruby-rails-demo
125123```
126124
125+ Editamos el archivo /etc/hosts y agregamos la siguiente línea para configurar el host virtual:
126+
127+ ```
128+ 127.0.0.1 passenger-ruby-rails-demo.com
129+ ```
130+
131+ Finalmente reiniciamos el servicio de nginx
132+
133+ ```
127134service nginx reload
135+ ```
136+
137+ Para comprobar que todo haya funcionado, hacemos uso del comando curl y nos devuelve la app de rails
138+
139+ ```
140+ curl passenger-ruby-rails-demo.com
141+ ```
142+
143+ ## Benchmarking tool y optimización.
144+
145+ Vamos a usar la herramienta recomendada por Phusion Passenger llamada ** wrk** ,
146+ hay que instalar la dependencia para compilarlo
147+
148+ ```
149+ apt-get install libssl-dev
150+ ```
151+
152+ después clonamos el repo y compilamos
153+
154+ ```
155+ git clone https://github.com/wg/wrk.git /opt/wrk
156+ cd /opt/wrk
157+ make
158+ ```
159+
160+ Despues ejecutamos wrk de la siguiente manera:
161+
162+ ```
163+ ./wrk -t12 -c400 -d30s http://passenger-ruby-rails-demo.com
164+ ```
128165
166+ El comando corre un benchmark por 30 segundos, usando 12 threads y
167+ mantiene 400 conexiones HTTP abiertas.
0 commit comments