Capistrano et mongrel cluster

Hello

j’'essaye d’utiliser mongrel cluster et capistrano.

deploy.rb
require ‘mongrel_cluster/recipes’

set :user, “²”
set :application, “uag_histoire”
set :repository, "
svn+ssh://[email protected]/var/www/virtual/uag-histoire.com/svn/#{application}/trunkhttp://svn+ssh//[email protected]/var/www/virtual/uag-histoire.com/svn/#{application}/trunk"

role :web, “uag-histoire.com
role :app, “uag-histoire.com
role :db, “uag-histoire.com

set :deploy_to,
“/var/www/virtual/uag-histoire.com/#{application}http://histoire.com/#{application}

set :use_sudo, false

desc “La tache spinner est utilisée par :cold_deploy pour démarrer
application”
task :spinner, :roles => :app do
send(run_method, “cd #{deploy_to}/#{current_dir} && mongrel_rails
cluster::start”)
end

desc “Redemarre mongrel cluster”
task :restart, :roles => :app do
send(run_method, “cd #{deploy_to}/#{current_dir} && mongrel_rails
cluster::restart”)
end

mongrel_cluster.yml

cwd: /var/www/virtual/uag-histoire.com/uag-histoire/current
port: “10160”
environment: production

address: IP http://198.145.37.37/
pid_file: log/mongrel.pid
servers: 2

Lordque que j’essaye de déployer, j’ai cette erreur. Je ne comprends pas
tres bien. Il y a qqch d’autre configurer ?

Merci

Pour faire un “restart” il faut qu’il y ait eut un “start” :slight_smile:

Bizarre parcque chez moi ca fait stop et start a la suite, comme ca
pas de soucis au premier lancement.

en fait quand je fais cap cold_deploy
j’ai ca
http://pastie.caboo.se/23791

et quand je fais dap deplou

2006/11/21, Julien ALEXANDRE [email protected]:

à la fin tu as :

** [out :: uag-histoire.com] Starting 2 Mongrel servers…

Donc ton application doit être “lancée” sur ton serveur …

le problème avec ton ::restart/::stop c’est qu’il fait un restart
alors qu’aucun serveur mongrel ne doit être lancé (vu qu’il n’y a pas
les pids dans le répertoire de log). Il met un warning comme quoi il
ne peux pas faire le ::restart, mais il ne s’arrête pas pour autant :slight_smile:

La première fois tu aura cette erreur, au deuxième “rake deploy”
normalement le ::restart devrait fonctionner correctement.

Alors j’ai juste à la suite un rake deploy
servers: [“uag-histoire.com”]
[uag-histoire.com] executing command
command finished
** transaction: commit

  • executing task restart
  • executing “cd /var/www/virtual/uag-histoire.com/uag-histoire/current
    &&
    mongrel_rails cluster::restart”
    servers: [“uag-histoire.com”]
    [uag-histoire.com] executing command
    ** [out :: uag-histoire.com] Restarting 2 Mongrel servers…
    ** [out :: uag-histoire.com] !!! PID file log/mongrel.10160.pid does
    not
    exist. Not running?
    ** [out :: uag-histoire.com] mongrel::restart reported an error. Use
    mongrel_rails mongrel::restart -h to get help.
    ** [out :: uag-histoire.com] mongrel_rails restart -P
    log/mongrel.10160.pid
    -c /var/www/virtual/uag-histoire.com/uag-histoire/current
    ** [out :: uag-histoire.com] !!! PID file log/mongrel.10161.pid does
    not
    exist. Not running?
    ** [out :: uag-histoire.com] mongrel::restart reported an error. Use
    mongrel_rails mongrel::restart -h to get help.
    ** [out :: uag-histoire.com] mongrel_rails restart -P
    log/mongrel.10161.pid
    -c /var/www/virtual/uag-histoire.com/uag-histoire/current
    command finished

J’ai suivi cet article
http://www.dansketcher.com/2006/04/26/capistrano-mongrel-and-mongrel_cluster/
2006/11/21, Julien ALEXANDRE [email protected]:

après ton cold_deploy les serveurs tournent effectivement ou pas ?

les fichiers de logs sont-ils présent aux bons endroits ?

Bolo :

en fait quand je fais cap cold_deploy
j’ai ca
Parked at Loopia

et quand je fais dap deplou

Ah ouais, mais ça, c’est parce que t’as utilisé Kapistrânoutche.

-- Jean-François (pas pu m'en empêcher).

lol c’est la soucis avec les mels on ne peut pas les éditer :wink:

2006/11/21, Jean-François [email protected]:

whaoo,
Le 21 nov. 06 à 09:12, Julien ALEXANDRE a écrit :

après ton cold_deploy les serveurs tournent effectivement ou pas ?
alors comment je peux savoir si les serveur tournent ?
je dois passer par un navigateur et tester l’adresse
http://www.uag-histoire:PORT/
oui faire autrement ?

les fichiers de logs sont-ils présent aux bons endroits ?
il normalement ils devraient être ou ?
Dans le dossier shared/log ? parce que dans ce dossier il y un
fichier mongrel.log seulement

sed. Look at log/mongrel.10160.pid and log/mongrel.log for info.
** Starting Mongrel listening at 198.145.37.37:10160
/usr/lib/ruby/gems/1.8/gems/mongrel-0.3.13.4/lib/mongrel/tcphack.rb:
12:in initialize_without_backlog': Address already in use - bind(2) (Errno::EADDRINUSE) from /usr/lib/ruby/gems/1.8/gems/mongrel-0.3.13.4/lib/ mongrel/tcphack.rb:12:in initialize’
from /usr/lib/ruby/gems/1.8/gems/mongrel-0.3.13.4/lib/
mongrel.rb:530:in initialize' from /usr/lib/ruby/gems/1.8/gems/mongrel-0.3.13.4/lib/ mongrel/configurator.rb:124:in listener’
from /usr/lib/ruby/gems/1.8/gems/mongrel-0.3.13.4/bin/
mongrel_rails:98:in cloaker_' from /usr/lib/ruby/gems/1.8/gems/mongrel-0.3.13.4/lib/ mongrel/configurator.rb:51:in initialize’
from /usr/lib/ruby/gems/1.8/gems/mongrel-0.3.13.4/bin/
mongrel_rails:85:in run' from /usr/lib/ruby/gems/1.8/gems/mongrel-0.3.13.4/lib/ mongrel/command.rb:211:in run’
from /usr/lib/ruby/gems/1.8/gems/mongrel-0.3.13.4/bin/
mongrel_rails:231
from /usr/bin/mongrel_rails:18
** Daemonized, any open files are closed. Look at log/mongrel.
10161.pid and log/mongrel.log for info.
** Starting Mongrel listening at 198.145.37.37:10161
** Starting Rails with production environment…
/usr/lib/ruby/gems/1.8/gems/rails-1.1.6/lib/initializer.rb:459:in
read': No such file or directory - /var/www/virtual/uag-histoire.com/ uag-histoire/current/config/../config/database.ym$ from /usr/ lib/ruby/gems/1.8/gems/rails-1.1.6/lib/initializer.rb:459:in database_configuration’
from /usr/lib/ruby/gems/1.8/gems/rails-1.1.6/lib/
initializer.rb:181:in initialize_database' from /usr/lib/ruby/gems/1.8/gems/rails-1.1.6/lib/ initializer.rb:84:in process’
from /usr/lib/ruby/gems/1.8/gems/rails-1.1.6/lib/
initializer.rb:42:in run' from /var/www/virtual/uag-histoire.com/uag-histoire/current/ config/environment.rb:13 from /usr/lib/ruby/site_ruby/1.8/rubygems/custom_require.rb: 27:in require’
from /usr/lib/ruby/gems/1.8/gems/mongrel-0.3.13.4/lib/
mongrel/rails.rb:161:in rails' from /usr/lib/ruby/gems/1.8/gems/mongrel-0.3.13.4/bin/ mongrel_rails:112:in cloaker_’
from /usr/lib/ruby/gems/1.8/gems/mongrel-0.3.13.4/lib/
mongrel/configurator.rb:134:in listener' from /usr/lib/ruby/gems/1.8/gems/mongrel-0.3.13.4/bin/ mongrel_rails:98:in cloaker_’
from /usr/lib/ruby/gems/1.8/gems/mongrel-0.3.13.4/lib/
mongrel/configurator.rb:51:in initialize' from /usr/lib/ruby/gems/1.8/gems/mongrel-0.3.13.4/bin/ mongrel_rails:85:in run’
from /usr/lib/ruby/gems/1.8/gems/mongrel-0.3.13.4/lib/
mongrel/command.rb:211:in `run’
from /usr/lib/ruby/gems/1.8/gems/mongrel-0.3.13.4/bin/
mongrel_rails:231
from /usr/bin/mongrel_rails:18


Railsfrance mailing list
[email protected]
http://lists.rubyonrails.fr/mailman/listinfo/railsfrance

Bolo M.
[email protected]
http://blog.developpez.com/index.php?blog=30

comment je peux savoir si les serveur tournent ?

Dans la liste des process “ps aux | grep mongrel” ? :slight_smile: ou en tappant
sur ip:port de chaque mongrel du cluster.

Apres ton cold_deploy, et d’apres ton log que tu as mis tout a l’heure
les deux serveurs tournaient … donc les logs devaient être la :wink:

cf ** [out :: uag-histoire.com] Starting 2 Mongrel servers…

Dans la liste des process “ps aux | grep mongrel” ? :slight_smile: ou en tappant
sur ip:port de chaque mongrel du cluster.

Alors j’ai tapé la jolie ligne de commande. J’ai colorisé les deux
ligne qui corresponds a mon compte

[*******@positron ~]$ ps aux | grep mongrel
vu2006 4618 0.0 2.2 64960 47392 ? S Nov04 3:46 /usr/
bin/ruby /usr/bin/mongrel_rails start -d -e production -p 10060
vu2006 4654 0.0 2.3 65724 48072 ? S Nov04 3:39 /usr/
bin/ruby /usr/bin/mongrel_rails start -d -e production -p 10061
vu2014 32352 0.0 1.5 35044 31428 ? S Nov08 2:58 /usr/
bin/ruby /usr/bin/mongrel_rails start -e production -d -p 8014
vu2019 14747 0.0 1.0 26656 21940 ? S Nov09 0:18 /usr/
bin/ruby /usr/bin/mongrel_rails start -d -e production -p 8019
vu2013 13797 0.0 4.4 108740 91624 ? S Nov16 2:19 /usr/
bin/ruby /usr/bin/mongrel_rails start -d -e production -p 10130 -P
log/mongrel.10130.pid -c /var/www/virtual/urbandrinks.com/htdocs/
urbandrinks/current
vu2013 13800 0.0 3.6 93532 76412 ? S Nov16 2:15 /usr/
bin/ruby /usr/bin/mongrel_rails start -d -e production -p 10131 -P
log/mongrel.10131.pid -c /var/www/virtual/urbandrinks.com/htdocs/
urbandrinks/current
vu2025 14443 0.0 1.0 25536 21760 ? S Nov20 0:01 /usr/
bin/ruby /usr/bin/mongrel_rails start -d -e production -p 10250
******** 993 0.0 1.0 24792 20928 ? S Nov20 0:01 /
usr/bin/ruby /usr/bin/mongrel_rails start -d -e production -p 10160
vu2024 2804 0.0 1.0 24796 20928 ? S Nov20 0:01 /usr/
bin/ruby /usr/bin/mongrel_rails start -d -e production -p 10240
vu2018 2838 0.0 1.0 25412 21804 ? S Nov20 0:01 /usr/
bin/ruby /usr/bin/mongrel_rails start -d -e production -p 10180 -P
log/mongrel.10180.pid
vu2018 2841 0.0 1.0 25288 21628 ? S Nov20 0:01 /usr/
bin/ruby /usr/bin/mongrel_rails start -d -e production -p 10181 -P
log/mongrel.10181.pid
******** 8322 0.0 0.0 3916 704 pts/1 S+ 10:28 0:00
grep mongrel

Apres ton cold_deploy, et d’apres ton log que tu as mis tout a l’heure
les deux serveurs tournaient … donc les logs devaient être la :wink:

donc normalement si je comprends tt correctement je devrais avoir
d’autre fichier dans le dossier shared/log je devrais avoir d’autre
fichier que mongrel.log

Question bête mais quand j’ai crée ma copie de travail j’ai les
configurer ainsi


system “svn remove log/"
system “svn commit -m ‘supprimer tous les logs de subversion’”
system 'svn propset svn:ignore "
.log” log/’
system “svn update log/”
system “svn commit -m ‘ignorer les fichiers du répertoire /log/ se
terminant par .log’”

Ca peut poser problème ?

Merci bc

cf ** [out :: uag-histoire.com] Starting 2 Mongrel servers…


Railsfrance mailing list
[email protected]
http://lists.rubyonrails.fr/mailman/listinfo/railsfrance

Bolo M.
[email protected]
http://blog.developpez.com/index.php?blog=30

Donc je viens en fait de comprendre que les .pid ne se trouvent pas
dans le dossier log/

J’ai mal configurer ma copie de travail ?On dirait que je ne peut pas
ajouter ou générer des fichiers dans se dossiers …
Le 21 nov. 06 à 11:13, Julien ALEXANDRE a écrit :

Railsfrance mailing list
[email protected]
http://lists.rubyonrails.fr/mailman/listinfo/railsfrance

Bolo M.
[email protected]
http://blog.developpez.com/index.php?blog=30

J’ai fais un test avec une nouvelle application et nouvelle copie de
travail
A chaque fois les fichier pid ne sont pas créer que je lance la recette
Capistrano ou quand je fasse manuellement dans le dossier current ca ne
change rien …

Je ne comprends pas trop … Le problème vient t il que le dossier log
est
un lien symbolique ?

Merci

2006/11/21, Bolo M. [email protected]: